Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dd60c34a7e7e2903c7094117648311e314b10496
https://github.com/WebKit/WebKit/commit/dd60c34a7e7e2903c7094117648311e314b10496
Author: Lily Spiniolas <[email protected]>
Date: 2025-11-17 (Mon, 17 Nov 2025)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/EventHandler.h
M Source/WebCore/page/RemoteUserInputEventData.h
M Source/WebCore/rendering/HitTestResult.cpp
M Source/WebCore/rendering/HitTestResult.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm
Log Message:
-----------
[Site isolation] Page and client coordinates of pointer events are always
integers in cross-origin frames
https://bugs.webkit.org/show_bug.cgi?id=302550
rdar://164027526
Reviewed by Aditya Keerthi and Abrar Rahman Protyasha.
Update HitTestResult to store the point in the inner node frame as a DoublePoint
instead of a LayoutPoint, and update RemoteUserInputEventData to store the
transformed point as a DoublePoint instead of an IntPoint.
Tested on iOS by the following new layout tests:
iOSMouseSupport.FractionalCoordinatesInSimpleIFrameCrossOrigin
iOSMouseSupport.FractionalCoordinatesInRotatedIFrameCrossOrigin
iOSMouseSupport.FractionalCoordinatesInScaledIFrameCrossOrigin
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
* Source/WebCore/dom/Document.h:
* Source/WebCore/page/EventHandler.cpp:
(WebCore::documentPointForWindowPoint):
(WebCore::EventHandler::userInputEventDataForRemoteFrame):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::EventHandler::dragSourceEndedAt):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/RemoteUserInputEventData.h:
* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::append):
* Source/WebCore/rendering/HitTestResult.h:
(WebCore::HitTestResult::pointInInnerNodeFrame const):
(WebCore::HitTestResult::doublePointInInnerNodeFrame const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::dragEnded):
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::didPerformImmediateActionHitTest):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::potentialTapAtPosition):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST_F(iOSMouseSupport, FractionalCoordinatesInSimpleIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInRotatedIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInScaledIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInSimpleIFrameCrossOrigin)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInRotatedIFrameCrossOrigin)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInScaledIFrameCrossOrigin)):
Canonical link: https://commits.webkit.org/303146@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications