Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4b1ca4f3add8483f04957886f45626e1e9b28a80
https://github.com/WebKit/WebKit/commit/4b1ca4f3add8483f04957886f45626e1e9b28a80
Author: Simon Fraser <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
A
LayoutTests/compositing/shared-backing/overflow-scroll/composite-via-negative-z-descendants-interrupts-sequence-expected.html
A
LayoutTests/compositing/shared-backing/overflow-scroll/composite-via-negative-z-descendants-interrupts-sequence.html
A
LayoutTests/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence-expected.txt
A
LayoutTests/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence.html
A
LayoutTests/platform/ios-wk2/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence-expected.txt
M Source/WebCore/rendering/RenderLayerCompositor.cpp
Log Message:
-----------
REGRESSION(268028@main): Graphics artifacts when scrolling Heroku app
https://bugs.webkit.org/show_bug.cgi?id=266926
rdar://120373474
Reviewed by Alan Baradlay.
Backing sharing is used to reduce memory use by allowing multiple RenderLayers
(normally siblings),
which share the same stacking context ancestor, to render into the same
compositing layer. This has
to be done in a way that preserves back-to-front paint order. The common case
where this kicks in is
a non-stacking context overflow:scroll with position:relative descendants.
A backing sharing sequence (a set of layers painting into the same shared
backing) has to be interrupted
when a layer becomes composited in order to preserve paint order. 268028@main
inadvertently changed the
condition used to end a backing sharing sequence, breaking rendering with
various content configurations.
Restore the condition to the previous state, which is to end the sequence if
the the provider layer
is the same one we had before traversing into descendant layers.
Add two tests which detect the behavior change.
*
LayoutTests/compositing/shared-backing/overflow-scroll/composite-via-negative-z-descendants-interrupts-sequence-expected.html:
Added.
*
LayoutTests/compositing/shared-backing/overflow-scroll/composite-via-negative-z-descendants-interrupts-sequence.html:
Added.
*
LayoutTests/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence-expected.txt:
Added.
*
LayoutTests/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence.html:
Added.
*
LayoutTests/platform/ios-wk2/compositing/shared-backing/overflow-scroll/zero-sized-fixed-interrupts-sharing-sequence-expected.txt:
Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBackingSharingAfterDescendantTraversal):
Canonical link: https://commits.webkit.org/273999@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes