[webkit-changes] [WebKit/WebKit] b91561: [content-visibility] Sync visibility bits in Rende...
Rob Buis
noreply at github.com
Fri Sep 1 02:12:44 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b9156186f52f48059654cca9eb179ce656cd86db
https://github.com/WebKit/WebKit/commit/b9156186f52f48059654cca9eb179ce656cd86db
Author: Rob Buis <rbuis at igalia.com>
Date: 2023-09-01 (Fri, 01 Sep 2023)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderLayerCompositor.cpp
Log Message:
-----------
[content-visibility] Sync visibility bits in RenderLayer with content skipping
https://bugs.webkit.org/show_bug.cgi?id=251614
Reviewed by Simon Fraser.
Sync visibility bits in RenderLayer with content skipping by making sure
skipped content layers have m_hasVisibleContent and m_hasVisibleDescendant
set to false, and have m_hasVisibleDescendant set to false for layers
created by content-visibility: hidden (layer here is forced because of the
implicitly enabled layout containment).
This enables any hidden layer optimizations to apply to skipped content.
This change also removes some unneeded changes from r256186
and fixes the content-visibility-video.html WPT test.
* LayoutTests/TestExpectations:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::computeHasVisibleContent const):
(WebCore::RenderLayer::paintList): undo old change
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants): undo old change
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::canBeComposited const):
Canonical link: https://commits.webkit.org/267547@main
More information about the webkit-changes
mailing list