[webkit-changes] [WebKit/WebKit] 2b7aa2: [ScrollingTree mac] Fix scrolling when event regio...

Matthieu Dubet noreply at github.com
Wed Nov 1 17:01:27 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2b7aa256562d1d2fa0bc22b53d9065a0d0556064
      https://github.com/WebKit/WebKit/commit/2b7aa256562d1d2fa0bc22b53d9065a0d0556064
  Author: Matthieu Dubet <m_dubet at apple.com>
  Date:   2023-11-01 (Wed, 01 Nov 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_hit_test_scroll_visible_descendant-expected.txt
    M Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
    M Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.h
    M Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm

  Log Message:
  -----------
  [ScrollingTree mac] Fix scrolling when event region and scroll container are distinct
https://bugs.webkit.org/show_bug.cgi?id=258255
rdar://110954175

Reviewed by Simon Fraser.

The current code (mac) assumes that the platform layer which reacts to
a scroll event is also the one containing the scroll container but it's not always the case
(like WPT example: when the scroll container has pointer-event:none but some child still reacts to event).

* LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_hit_test_scroll_visible_descendant-expected.txt:
* Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm:
(ScrollingTreeMac::scrollingNodeForPoint):
* Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.h:
(WebCore::collectDescendantLayersAtPoint):
* Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.mm:
(WebCore::collectDescendantLayersAtPoint):
(WebCore::layersAtPointToCheckForScrolling):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::scrollingNodeForPoint):

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




More information about the webkit-changes mailing list