[webkit-changes] [WebKit/WebKit] 694cea: Some animations can cause InteractionRegion layers...

Etienne Segonzac noreply at github.com
Fri Dec 15 00:32:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 694cea7f71185b8a8b423367911fd79612e62b47
      https://github.com/WebKit/WebKit/commit/694cea7f71185b8a8b423367911fd79612e62b47
  Author: Etienne Segonzac <sgz at apple.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    A LayoutTests/interaction-region/interaction-layers-culling-layer-type-change-expected.txt
    A LayoutTests/interaction-region/interaction-layers-culling-layer-type-change.html
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

  Log Message:
  -----------
  Some animations can cause InteractionRegion layers to disappear
https://bugs.webkit.org/show_bug.cgi?id=266436
<rdar://119496239>

Reviewed by Mike Wyrzykowski.

When a GraphicsLayer stops requiring a tiled layer, we change its layer
type but skip updating its coverage.
This results in a freshly created PlatformCALayer without any visibleRect
set. Which in turn causes all descendent InteractionRegion layers to get
culled.

Always update the coverage when changing layer type if Interaction
Regions are enabled.

* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
Always add CoverageRectChanged to the uncommitted changes list when
Interaction Regions are enabled.

* LayoutTests/interaction-region/interaction-layers-culling-layer-type-change-expected.txt: Added.
* LayoutTests/interaction-region/interaction-layers-culling-layer-type-change.html: Added.
Add a new LayerTree-based test covering the specific scenario where an element temporarily
requires a tiled layer during an animation.

Canonical link: https://commits.webkit.org/272101@main




More information about the webkit-changes mailing list