[webkit-changes] [WebKit/WebKit] e38ca6: [Site Isolation] Send wheel events to isolated frames

Charlie Wolfe noreply at github.com
Wed Nov 29 12:57:37 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e38ca6f937f965af38f0e65ba6b1484dd37b3af7
      https://github.com/WebKit/WebKit/commit/e38ca6f937f965af38f0e65ba6b1484dd37b3af7
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A LayoutTests/http/tests/site-isolation/resources/post-message-wheel-coordinates.html
    A LayoutTests/http/tests/site-isolation/wheel-event-coordinates-expected.txt
    A LayoutTests/http/tests/site-isolation/wheel-event-coordinates.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/EventHandler.h
    M Source/WebCore/page/ios/EventHandlerIOS.mm
    M Source/WebCore/page/mac/EventHandlerMac.mm
    M Source/WebKit/Shared/WebWheelEvent.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  [Site Isolation] Send wheel events to isolated frames
https://bugs.webkit.org/show_bug.cgi?id=265493
rdar:///118907442

Reviewed by Alex Christensen.

This follows the same pattern as mouse/drag/touch events, where IPC is sent between the UI process and
web process until a hit test does not lead to an out-of-process frame.

I used the same `RemoteUserInputEventData` struct and coordinate correction logic as the other user input
events implemented for site isolation.

* LayoutTests/http/tests/site-isolation/resources/post-message-wheel-coordinates.html: Added.
* LayoutTests/http/tests/site-isolation/wheel-event-coordinates-expected.txt: Added.
* LayoutTests/http/tests/site-isolation/wheel-event-coordinates.html: Added.
* LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::handleWheelEventInternal):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::wheelEvent):
* Source/WebCore/page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::passWheelEventToWidget):
* Source/WebKit/Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::setPosition):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueWheelEventHandling):
(WebKit::WebPageProxy::sendWheelEvent):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::dispatchWheelEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::handleWheelEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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




More information about the webkit-changes mailing list