[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