[Site Isolation] Only update page main frame's process in ProvisionalPageProxy::didCommitLoadForFrame when committing the main frame itself#64310
Merged
Conversation
Collaborator
|
EWS run on previous version of this PR (hash bb2b000) Details |
szewai
reviewed
May 6, 2026
| @@ -496,7 +496,7 @@ void ProvisionalPageProxy::didCommitLoadForFrame(IPC::Connection& connection, Fr | |||
Contributor
There was a problem hiding this comment.
Should we move pageMainFrame == m_mainFrame to if (page && protect(page->preferences())->siteIsolationEnabled() && pageMainFrame) { instead, if we'd like to do the operation when main frame has not changed?
Collaborator
|
EWS run on current version of this PR (hash db3814a) Details
|
szewai
approved these changes
May 6, 2026
…PageProxy::didCommitLoadForFrame when committing the main frame itself https://bugs.webkit.org/show_bug.cgi?id=314129 rdar://176305054 Reviewed by Sihui Liu. In ProvisionalPageProxy::didCommitLoadForFrame, the Site Isolation block computes pageMainFrameProcess and, if the frame process has changed, assigns the provisional page's FrameProcess to the page's main frame. This is only correct when the provisional commit is for the page's main frame itself. Under Site Isolation, a provisional page may commit for a different frame (e.g., during a multi-process BFCache restoration), in which case overwriting the page main frame's FrameProcess with the provisional's FrameProcess leaves the real main frame pointing to the wrong process. Move the pageMainFrame == m_mainFrame guard into the outer condition so the whole block is only entered when committing the page's main frame. A pre-existing redundant check on the m_deferredRemoteTransitionSite assignment becomes unnecessary and is simplified accordingly. * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::didCommitLoadForFrame): Canonical link: https://commits.webkit.org/312737@main
db3814a to
64bbad6
Compare
Collaborator
|
Committed 312737@main (64bbad6): https://commits.webkit.org/312737@main Reviewed commits have been landed. Closing PR #64310 and removing active labels. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
64bbad6
db3814a
🛠 win🧪 wpe-wk2🧪 win-tests🧪 ios-wk2🧪 api-mac🧪 ios-wk2-wpt🧪 api-mac-debug🧪 api-ios🧪 gtk-wk2🧪 mac-AS-debug-wk2🧪 api-gtk🛠 vision-sim🛠 playstation🧪 vision-wk2🧪 mac-intel-wk2🛠 tv-sim🛠 watch🛠 watch-sim