Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ee57472bbda11ac4b56c3022f616b6d049c8716a https://github.com/WebKit/WebKit/commit/ee57472bbda11ac4b56c3022f616b6d049c8716a Author: Etienne Segonzac <s...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes