[webkit-changes] [WebKit/WebKit] fe06a6: Media controls not entirely visible when viewing Y...
mattwoodrow
noreply at github.com
Tue Aug 6 02:21:45 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fe06a69b5991f95dac3bc6c27b881f61b9505d62
https://github.com/WebKit/WebKit/commit/fe06a69b5991f95dac3bc6c27b881f61b9505d62
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
A LayoutTests/compositing/visibility/omitted-hidden-layers-made-visible-expected.html
A LayoutTests/compositing/visibility/omitted-hidden-layers-made-visible.html
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
Log Message:
-----------
Media controls not entirely visible when viewing YouTube fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=277618
<rdar://133089532>
Reviewed by Simon Fraser.
updateDescendantDependentFlags doesn't necessarily recurse the entire subtree
(due to the allFlagsSet early return).
This can result in descendants (not direct children) with a visibility change
fail to update the 'has visible descendant' on the intermediate layer.
collectLayers then doesn't recurse through the intermediate layer (which has a
stale 'has visible descendant' value), and we never re-add the newly visible
layer.
This changes updateDescendantDependentFlags to always recurse through the dirty
subtrees, since it's much easier to reason about, and the skipping was
relatively rare (required a mix-blend-mode child).
* LayoutTests/compositing/visibility/omitted-hidden-layers-made-visible-expected.html: Added.
* LayoutTests/compositing/visibility/omitted-hidden-layers-made-visible.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::updateDescendantDependentFlags):
* Source/WebCore/rendering/RenderLayer.h:
Canonical link: https://commits.webkit.org/281882@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list