[webkit-changes] [WebKit/WebKit] 3472da: REGRESSION(275801 at main): In some cases, Interactio...

Etienne Segonzac noreply at github.com
Tue Mar 19 00:04:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3472dac0219c70ef58046eb7dac36209d7375aba
      https://github.com/WebKit/WebKit/commit/3472dac0219c70ef58046eb7dac36209d7375aba
  Author: Etienne Segonzac <sgz at apple.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    A LayoutTests/interaction-region/content-hint-overlap-dedupe-expected.txt
    A LayoutTests/interaction-region/content-hint-overlap-dedupe.html
    M Source/WebCore/rendering/EventRegion.cpp

  Log Message:
  -----------
  REGRESSION(275801 at main): In some cases, InteractionRegion layers accumulate in the layer tree
https://bugs.webkit.org/show_bug.cgi?id=271195
<rdar://124972680>

Reviewed by Mike Wyrzykowski.

The code managing InteractionRegion layers in the RemoteLayerTree has a
strict requirement for no <IntRect, InteractionRegion::Type> duplicate.
We use the `m_interactionRects` / `m_occlusionRects` / `m_elementGuardRects`
sets on the EventRegionContext to ensure this.

But 275801 at main introduced a code-path where we insert extra Interaction
Regions for photos in `shrinkWrapInteractionRegions`. We need to maintain
the no-duplicate rule there too.

* Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegionContext::shrinkWrapInteractionRegions):
Make sure the extra regions "to add after merge" do not create
<IntRect, InteractionRegion::Type> duplicates. Update the existing
region's content hint instead.

* LayoutTests/interaction-region/content-hint-overlap-dedupe-expected.txt: Added.
* LayoutTests/interaction-region/content-hint-overlap-dedupe.html: Added.
Add a test covering this and exercising the assertions in the
RemoteLayerTree code.

Canonical link: https://commits.webkit.org/276335@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