[webkit-changes] [WebKit/WebKit] f45d2e: Interaction regions are missing for some links

EWS noreply at github.com
Wed Dec 7 12:05:57 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f45d2e181f08e97b6132a19f81a3b1593c19bae0
      https://github.com/WebKit/WebKit/commit/f45d2e181f08e97b6132a19f81a3b1593c19bae0
  Author: Etienne Segonzac <sgz at apple.com>
  Date:   2022-12-07 (Wed, 07 Dec 2022)

  Changed paths:
    M LayoutTests/interaction-region/event-region-overflow-expected.txt
    M LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt
    M LayoutTests/interaction-region/inline-link-dark-background-expected.txt
    M LayoutTests/interaction-region/inline-link-expected.txt
    M LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt
    M LayoutTests/interaction-region/inline-link-in-layer-expected.txt
    M LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt
    A LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt
    A LayoutTests/interaction-region/inline-link-with-pointer-events-none-content.html
    M LayoutTests/interaction-region/paused-video-regions-expected.txt
    M LayoutTests/interaction-region/region-area-overflow-does-not-crash-expected.txt
    M LayoutTests/interaction-region/split-inline-link-expected.txt
    M LayoutTests/interaction-region/wrapped-inline-link-expected.txt
    M Source/WebCore/page/InteractionRegion.cpp
    M Source/WebCore/rendering/EventRegion.cpp
    M Source/WebCore/rendering/TextBoxPainter.cpp

  Log Message:
  -----------
  Interaction regions are missing for some links
https://bugs.webkit.org/show_bug.cgi?id=248761
<rdar://100575815>

Reviewed by Tim Horton.

Properly detect inline links with `pointer-events: none` children when
building interaction regions.

* LayoutTests/interaction-region/event-region-overflow-expected.txt:
* LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt:
* LayoutTests/interaction-region/inline-link-dark-background-expected.txt:
* LayoutTests/interaction-region/inline-link-expected.txt:
* LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt:
* LayoutTests/interaction-region/inline-link-in-layer-expected.txt:
* LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt:
* LayoutTests/interaction-region/paused-video-regions-expected.txt:
* LayoutTests/interaction-region/region-area-overflow-does-not-crash-expected.txt:
* LayoutTests/interaction-region/split-inline-link-expected.txt:
* LayoutTests/interaction-region/wrapped-inline-link-expected.txt:
Update existing test expectations.

* LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt: Added.
* LayoutTests/interaction-region/inline-link-with-pointer-events-none-content.html: Added.
Add a test case.

* Source/WebCore/page/InteractionRegion.cpp:
(WebCore::interactionRegionForRenderedRegion):
Make sure the element we select can receive user interactions.

* Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegion::unite):
Continue taking pointer-events into account for event regions.

* Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter<TextBoxPath>::paint):
Ignore the CSS pointer-events property to get a chance to find enclosing
links.

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




More information about the webkit-changes mailing list