[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