[webkit-changes] [WebKit/WebKit] bff757: Skip class modification if possible
Yusuke Suzuki
noreply at github.com
Mon May 13 20:57:45 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bff7571e1974aeb72cf9f7e426debd4092504508
https://github.com/WebKit/WebKit/commit/bff7571e1974aeb72cf9f7e426debd4092504508
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/dom/SpaceSplitString.h
M Source/WebCore/svg/SVGElement.cpp
Log Message:
-----------
Skip class modification if possible
https://bugs.webkit.org/show_bug.cgi?id=274048
rdar://127948676
Reviewed by Ryosuke Niwa.
When changing class attribute via parserSetAttributes,
1. We may be able to skip SpaceSplitString creation. If the ElementData is shareable one,
it is possible that it already has SpaceSplitString materialized before. We check the keyString,
and if it is true, then skip the creation.
2. Cache / style invalidation is not necessary at this point yet since it is not attached to the tree,
and never rendered before.
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::classAttributeChanged):
* Source/WebCore/dom/Element.h:
* Source/WebCore/dom/SpaceSplitString.h:
(WebCore::SpaceSplitStringData::keyString const):
(WebCore::SpaceSplitString::keyString const):
* Source/WebCore/svg/SVGElement.cpp:
(WebCore::SVGElement::svgAttributeChanged):
Canonical link: https://commits.webkit.org/278733@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list