Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Make ::backdrop renderers use background layers when possible
https://bugs.webkit.org/show_bug.cgi?id=248148 rdar://102566049 Reviewed by Simon Fraser. Right now, when rotating in fullscreen on iPad, there are white gaps around the edges. This was avoided by RenderFullscreen using "background layers" that are 3x the size with a negative offset. Now that RenderFullscreen is gone, we need to target ::backdrop pseudo elements that have: - The same rect as the RenderView - position: fixed, since position: absolute can allow scrolling away from the ::backdrop, since the containing block is the ICB - No transforms/clips/masks (since they intentionally do not cover the whole screen) Also clean up remainders of RenderFullscreen which has been removed in 255641@main. * LayoutTests/compositing/no-compositing-when-full-screen-is-present-expected.txt: * LayoutTests/compositing/no-compositing-when-full-screen-is-present.html: * LayoutTests/platform/gtk/compositing/no-compositing-when-full-screen-is-present-expected.txt: Update test expectations to reflect that ::backdrop is now layer backed in fullscreen. * LayoutTests/TestExpectations: * LayoutTests/fullscreen/full-screen-layer-dump-expected.txt: * LayoutTests/fullscreen/full-screen-layer-dump.html: Make test expectation more clear in the description to avoid regressing this test again, and update test expectation to reflect that "background layers" now work again. * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::propagateStyleToAnonymousChildren): * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::isDescendantOfFullScreenLayer): Consider the fullscreen element's associated ::backdrop as fullscreen layer, otherwise the renderer is never layer-backed meaning we can't use "background layers". We avoid backing non-fullscreen layers to optimize for power usage. * Source/WebCore/rendering/RenderObject.h: (WebCore::RenderObject::isAttachment const): (WebCore::RenderObject::isAnonymousBlock const): (WebCore::RenderObject::isRenderFullScreen const): Deleted. (WebCore::RenderObject::isRenderFullScreenPlaceholder const): Deleted. Canonical link: https://commits.webkit.org/257538@main
- Loading branch information
Showing
10 changed files
with
92 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 23 additions & 5 deletions
28
LayoutTests/fullscreen/full-screen-layer-dump-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters