Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e257d805030a0048938dcb35475c7b99cf376ad3
https://github.com/WebKit/WebKit/commit/e257d805030a0048938dcb35475c7b99cf376ad3
Author: Kiet Ho <[email protected]>
Date: 2026-06-25 (Thu, 25 Jun 2026)
Changed paths:
M LayoutTests/ipc/serialized-type-info.html
M LayoutTests/platform/ios-site-isolation/TestExpectations
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Source/WebCore/page/FrameTreeSyncData.in
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
[Site Isolation] Synchronize scroll position of LocalFrameView to
RemoteFrameViews on change
rdar://179748816
https://bugs.webkit.org/show_bug.cgi?id=317152
Reviewed by Megan Gardner and Simon Fraser.
ScrollView::viewToContents() and contentsToView() (used by rootViewToContents,
which
is used in a bunch of places including Intersection Observer) needs to know the
current
scroll position of a frame. When Site Isolation is enabled, we didn't
synchronize the
scroll position between processes on scrolling, so it's possible a process
thinks a
remote frame is at the original scroll position, which it's actually halfway
scrolled.
Fix this by synchronizing the scroll position when it changes using
FrameTreeSyncData.
Test:
imported/w3c/web-platform-tests/intersection-observer/nested-cross-origin-iframe.sub.html
* LayoutTests/ipc/serialized-type-info.html:
- Add instruction to fix missing IPC description issue.
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/page/FrameTreeSyncData.in:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scrollPositionChanged):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::calculateFrameTreeSyncData const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::frameTreeSyncDataChangedInAnotherProcess):
Canonical link: https://commits.webkit.org/315872@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications