[webkit-changes] [WebKit/WebKit] e1044d: Avoid some repaints in RenderElement::repaintAfter...
Simon Fraser
noreply at github.com
Tue Nov 7 21:24:32 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e1044db535ada573a7d99b80c08ea0351a7cc92b
https://github.com/WebKit/WebKit/commit/e1044db535ada573a7d99b80c08ea0351a7cc92b
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-11-07 (Tue, 07 Nov 2023)
Changed paths:
M LayoutTests/fast/box-shadow/shadow-repaint-expected.txt
M LayoutTests/fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt
M LayoutTests/fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt
M LayoutTests/fast/css-grid-layout/grid-item-change-column-repaint-expected.txt
M LayoutTests/fast/css-grid-layout/grid-item-change-row-repaint-expected.txt
M LayoutTests/fast/repaint/align-items-overflow-change-expected.txt
M LayoutTests/fast/repaint/border-radius-repaint-2-expected.txt
M LayoutTests/fast/repaint/focus-ring-repaint-expected.txt
M LayoutTests/fast/repaint/justify-items-change-expected.txt
M LayoutTests/fast/repaint/justify-items-legacy-change-expected.txt
M LayoutTests/fast/repaint/justify-items-overflow-change-expected.txt
M LayoutTests/fast/repaint/justify-self-change-expected.txt
M LayoutTests/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt
M LayoutTests/fast/repaint/reflection-table-layout-expected.txt
M LayoutTests/fast/repaint/repaint-float-only-and-moves-expected.txt
M LayoutTests/fast/repaint/text-content-shrinks-repaint-expected.txt
M LayoutTests/fast/repaint/text-content-shrinks-repaint.html
M LayoutTests/fast/repaint/transform-table-layout-expected.txt
A LayoutTests/platform/ios-wk2/fast/box-shadow/shadow-repaint-expected.txt
M LayoutTests/platform/ios-wk2/fast/repaint/focus-ring-repaint-expected.txt
M LayoutTests/platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt
A LayoutTests/platform/ios-wk2/fast/repaint/text-content-shrinks-repaint-expected.txt
M LayoutTests/platform/ios/fast/repaint/border-radius-repaint-2-expected.txt
M LayoutTests/platform/mac-ventura-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt
M LayoutTests/platform/mac-wk1/fast/repaint/border-radius-repaint-2-expected.txt
A LayoutTests/platform/mac-wk1/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt
R LayoutTests/platform/mac-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt
M Source/WebCore/rendering/RenderElement.cpp
Log Message:
-----------
Avoid some repaints in RenderElement::repaintAfterLayoutIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=264275
rdar://118014812
Reviewed by Alan Baradlay.
In RenderElement::repaintAfterLayoutIfNeeded(), we repaint both the old and the new clippedOverflowRect in the
`fullRepaint` code path. But these rectangles might overlap; we only need to repaint both if one does not
contain the other. The `contains` checks also take care of the equality check.
* LayoutTests/fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
* LayoutTests/fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
* LayoutTests/fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
* LayoutTests/fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
* LayoutTests/fast/repaint/align-items-overflow-change-expected.txt:
* LayoutTests/fast/repaint/border-radius-repaint-2-expected.txt:
* LayoutTests/fast/repaint/focus-ring-repaint-expected.txt:
* LayoutTests/fast/repaint/justify-items-change-expected.txt:
* LayoutTests/fast/repaint/justify-items-legacy-change-expected.txt:
* LayoutTests/fast/repaint/justify-items-overflow-change-expected.txt:
* LayoutTests/fast/repaint/justify-self-change-expected.txt:
* LayoutTests/fast/repaint/reflection-table-layout-expected.txt:
* LayoutTests/fast/repaint/repaint-float-only-and-moves-expected.txt:
* LayoutTests/fast/repaint/text-content-shrinks-repaint-expected.txt:
* LayoutTests/fast/repaint/text-content-shrinks-repaint.html:
* LayoutTests/fast/repaint/transform-table-layout-expected.txt:
* LayoutTests/platform/ios-wk2/fast/repaint/focus-ring-repaint-expected.txt:
* LayoutTests/platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:
* LayoutTests/platform/ios-wk2/fast/repaint/text-content-shrinks-repaint-expected.txt: Copied from LayoutTests/fast/repaint/text-content-shrinks-repaint-expected.txt.
* LayoutTests/platform/ios/fast/repaint/border-radius-repaint-2-expected.txt:
* LayoutTests/platform/mac-wk1/fast/repaint/border-radius-repaint-2-expected.txt:
* LayoutTests/platform/mac-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
Canonical link: https://commits.webkit.org/270370@main
More information about the webkit-changes
mailing list