[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