Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 57ac0275ddfdd84d68ee272bbafff7c5c429e300
https://github.com/WebKit/WebKit/commit/57ac0275ddfdd84d68ee272bbafff7c5c429e300
Author: Charlie Wolfe <[email protected]>
Date: 2026-07-26 (Sun, 26 Jul 2026)
Changed paths:
A
LayoutTests/http/tests/site-isolation/mouse-events/resources/scroll-and-message-mouse-down-client-coordinates.html
A
LayoutTests/http/tests/site-isolation/mouse-events/resources/scrolled-iframe-client-coordinates.js
A
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates-expected.html
A
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/RemoteFrameGeometryTransformer.cpp
M Source/WebCore/platform/Widget.h
M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
Log Message:
-----------
[Site Isolation] REGRESSION(315872@main): Event coordinates are offset by the
scroll position in isolated iframes
https://bugs.webkit.org/show_bug.cgi?id=320302
rdar://183236270
Reviewed by Kiet Ho.
Since 315872@main began synchronizing a frame's scroll position to the
RemoteFrameViews in other
processes, the parent-side RemoteFrameView now carries the child's scroll
offset, so the target
process applied it a second time when converting the point with
windowToContents(). Event
coordinates in scrolled iframes were therefore offset by the iframe's scroll
position.
The transformed point is consumed as a root view point by the process hosting
the remote frame, so
use convertFromRootView() instead. This leaves the parent process responsible
only for geometry it
owns and the target process responsible for its own scroll offset.
Test:
http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html
*
LayoutTests/http/tests/site-isolation/mouse-events/resources/scroll-and-message-mouse-down-client-coordinates.html:
Added.
*
LayoutTests/http/tests/site-isolation/mouse-events/resources/scrolled-iframe-client-coordinates.js:
Added.
(addMarker):
(async event):
(clickInScrolledSubframe):
*
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates-expected.html:
Added.
*
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html:
Added.
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::userInputEventDataForRemoteFrame):
* Source/WebCore/page/RemoteFrameGeometryTransformer.cpp:
(WebCore::RemoteFrameGeometryTransformer::transformToRemoteFrameCoordinates
const):
* Source/WebCore/platform/Widget.h:
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
Canonical link: https://commits.webkit.org/317940@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications