Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 21fec260eb85e4c360106111b32ac8c42e18f862
      
https://github.com/WebKit/WebKit/commit/21fec260eb85e4c360106111b32ac8c42e18f862
  Author: Simon Fraser <[email protected]>
  Date:   2025-02-02 (Sun, 02 Feb 2025)

  Changed paths:
    M Source/WebCore/rendering/RenderLayerModelObject.cpp
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    M Source/WebCore/rendering/style/StyleSurroundData.h
    M Source/WebCore/style/StyleChange.cpp
    M Source/WebCore/style/StyleChange.h

  Log Message:
  -----------
  Optimize comparing various RenderStyle properties
https://bugs.webkit.org/show_bug.cgi?id=286868
rdar://144024685

Reviewed by Sam Weinig.

We can optimize comparisons of things like column span, border colors, content 
data etc
by first comparing the pointers (`m_nonInheritedData` etc) before then comparing
the values. This is done by adding some helper functions on RenderStyle.

Also optimize `RenderStyle::changeAffectsVisualOverflow()` by grouping and 
reordering
comparisons.

* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeAffectsVisualOverflow const):
(WebCore::RenderStyle::scrollSnapDataEquivalent const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::borderImageWidth const):
(WebCore::RenderStyle::contentData const):
(WebCore::RenderStyle::columnSpanEqual const):
(WebCore::RenderStyle::borderIsEquivalentForPainting const):
(WebCore::RenderStyle::contentDataEquivalent const):
(WebCore::RenderStyle::containerTypeAndNamesEqual const):
(WebCore::RenderStyle::scrollPaddingEqual const):
* Source/WebCore/rendering/style/StyleSurroundData.h:
* Source/WebCore/style/StyleChange.cpp:
(WebCore::Style::determineChange):
(WebCore::Style::operator<<):
* Source/WebCore/style/StyleChange.h:

Canonical link: https://commits.webkit.org/289700@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to