[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