[webkit-changes] [WebKit/WebKit] ee5747: InteractionRegions: configure guard layers differe...
Commit Queue
noreply at github.com
Fri May 5 12:19:00 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ee57472bbda11ac4b56c3022f616b6d049c8716a
https://github.com/WebKit/WebKit/commit/ee57472bbda11ac4b56c3022f616b6d049c8716a
Author: Etienne Segonzac <sgz at apple.com>
Date: 2023-05-05 (Fri, 05 May 2023)
Changed paths:
M LayoutTests/interaction-region/input-type-file-region-expected.txt
M LayoutTests/interaction-region/input-type-range-region-expected.txt
M LayoutTests/interaction-region/labels-expected.txt
M LayoutTests/interaction-region/layer-tree-expected.txt
M LayoutTests/interaction-region/paused-video-regions-expected.txt
M LayoutTests/interaction-region/tiny-regions-expected.txt
M LayoutTests/interaction-region/wrapped-inline-link-expected.txt
M Source/WebCore/page/InteractionRegion.cpp
M Source/WebCore/page/InteractionRegion.h
M Source/WebCore/rendering/EventRegion.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm
Log Message:
-----------
InteractionRegions: configure guard layers differently than occlusions
https://bugs.webkit.org/show_bug.cgi?id=256343
<rdar://108847192>
Reviewed by Tim Horton.
Make guards a proper InteractionRegion type, and configure the
corresponding layers differently.
* Source/WebCore/page/InteractionRegion.h:
Switch the InteractionRegion::Type to an `uint8_t` and add the Guard case.
Make the Type hash-able.
* Source/WebCore/page/InteractionRegion.cpp:
(WebCore::operator<<):
Update the dump format to support guards.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Make the Type serialize-able.
* Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegionContext::uniteInteractionRegions):
Generate guards with the proper Type.
(WebCore::EventRegionContext::shrinkWrapInteractionRegions):
Only shrink wrap Type::Interaction.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
(configureLayerAsGuard):
(WebKit::setInteractionRegion):
(WebKit::setInteractionRegionOcclusion):
(WebKit::setInteractionRegionGuard):
(WebKit::updateLayersForInteractionRegions):
(WebKit::isInteractionLayer): Deleted.
Refactor `updateLayersForInteractionRegions` to more gracefully handle
having 3 different InteractionRegion types.
Call the new `configureLayerAsGuard` for guard layers.
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(dumpCALayer):
Dump the raw `WKInteractionRegionType` for InteractionRegion layers.
* LayoutTests/interaction-region/input-type-file-region-expected.txt:
* LayoutTests/interaction-region/input-type-range-region-expected.txt:
* LayoutTests/interaction-region/labels-expected.txt:
* LayoutTests/interaction-region/layer-tree-expected.txt:
* LayoutTests/interaction-region/tiny-regions-expected.txt:
* LayoutTests/interaction-region/wrapped-inline-link-expected.txt:
Test updates covering the change.
* LayoutTests/interaction-region/paused-video-regions-expected.txt:
Test update.
Canonical link: https://commits.webkit.org/263730@main
More information about the webkit-changes
mailing list