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