Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fcf6fe0d7fff1c96791b1b3a8c30b21e082e47d7
https://github.com/WebKit/WebKit/commit/fcf6fe0d7fff1c96791b1b3a8c30b21e082e47d7
Author: Ben Nham <[email protected]>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M
LayoutTests/http/tests/site-isolation/do-not-rebroadcast-frame-geometry-while-scrolling-expected.txt
M
LayoutTests/http/tests/site-isolation/do-not-rebroadcast-frame-geometry-while-scrolling.html
M
LayoutTests/http/tests/site-isolation/only-broadcast-scroll-position-if-remote-frame-exists.html
A
LayoutTests/http/wpt/site-isolation/intersection-observer/remote-observations-when-viewport-is-not-replicated.sub-expected.txt
A
LayoutTests/http/wpt/site-isolation/intersection-observer/remote-observations-when-viewport-is-not-replicated.sub.html
A
LayoutTests/http/wpt/site-isolation/intersection-observer/resources/report-target-intersection-frame.html
M LayoutTests/platform/win/TestExpectations
M Source/WebCore/loader/LocalFrameLoaderClient.cpp
M Source/WebCore/loader/LocalFrameLoaderClient.h
M Source/WebCore/page/FrameGeometrySyncData.h
M Source/WebCore/page/Page.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Suppress scroll position updates from main frame
https://bugs.webkit.org/show_bug.cgi?id=324892
rdar://problem/188122073
Reviewed by Mike Wyrzykowski.
This suppresses broadcasting the FrameViewportInfo update (which changes with
the scroll position)
from the main frame if all remote frames are offscreen for consecutive
rendering updates.
The theory here is that while a remote frame is offscreen, the exact scroll
position and layout
viewport of the main frame shouldn't matter:
- IntersectionObserver should continue reporting no intersection
- Tile coverage and exposedContentRect should still compute zero tile coverage
- Offscreen throttling via windowClipRect should continue to throttle
Tests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
http/wpt/site-isolation/intersection-observer/remote-observations-when-viewport-is-not-replicated.sub.html
*
LayoutTests/http/tests/site-isolation/do-not-rebroadcast-frame-geometry-while-scrolling-expected.txt:
*
LayoutTests/http/tests/site-isolation/do-not-rebroadcast-frame-geometry-while-scrolling.html:
*
LayoutTests/http/tests/site-isolation/only-broadcast-scroll-position-if-remote-frame-exists.html:
*
LayoutTests/http/wpt/site-isolation/intersection-observer/remote-observations-when-viewport-is-not-replicated.sub-expected.txt:
Added.
*
LayoutTests/http/wpt/site-isolation/intersection-observer/remote-observations-when-viewport-is-not-replicated.sub.html:
Added.
*
LayoutTests/http/wpt/site-isolation/intersection-observer/resources/report-target-intersection-frame.html:
Added.
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/loader/LocalFrameLoaderClient.cpp:
(WebCore::LocalFrameLoaderClient::broadcastFrameViewportInfoToOtherProcessesIfNeeded):
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebCore/page/FrameGeometrySyncData.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::syncLocalFrameInfoToRemote):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::clearLastBroadcastFrameTreeSyncData):
(WebKit::WebLocalFrameLoaderClient::broadcastFrameViewportInfoToOtherProcessesIfNeeded):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, HitTestingInScrolledCrossOriginIframe)):
Canonical link: https://commits.webkit.org/321874@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications