Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3ea8ec0d213c02f969802d2b9d4ebe78d8783c59
https://github.com/WebKit/WebKit/commit/3ea8ec0d213c02f969802d2b9d4ebe78d8783c59
Author: Ryosuke Niwa <[email protected]>
Date: 2026-04-27 (Mon, 27 Apr 2026)
Changed paths:
M LayoutTests/platform/ios-site-isolation/TestExpectations
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.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] http/wpt/clear-site-data/partitioning.html fails
https://bugs.webkit.org/show_bug.cgi?id=313367
Reviewed by Sihui Liu.
When a popup's main frame process-swaps (e.g., localhost→127.0.0.1), the old
process's
Page goes through Local -> Remote transition. setMainFrame(RemoteFrame) resets
m_topDocumentSyncData to empty, and the DocumentSyncData broadcast from the new
process
gets dropped because it arrives while the main frame is still a LocalFrame
(about:blank).
Later, when a cross-origin subframe loads in the old process, topOrigin is
wrong.
Fixed the test by passing the committed URL in the
LoadDidCommitInAnotherProcess IPC.
After the frame transitions to RemoteFrame, call setMainFrameURLAndOrigin to
set the
correct origin directly — no reliance on broadcast timing.
Co-authored with Claude.
Test: http/wpt/clear-site-data/partitioning.html
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::commitProvisionalFrame):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDidCommitInAnotherProcess):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
Canonical link: https://commits.webkit.org/312181@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications