Bug 313709

Summary: [Site Isolation] Defer transitionPageToRemotePage to after BFCache suspension decision
Product: WebKit Reporter: Basuke Suzuki <basuke>
Component: New BugsAssignee: Basuke Suzuki <basuke>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Basuke Suzuki
Reported 2026-04-29 19:31:04 PDT
During a forward navigation with process swap, delay the LoadDidCommitInAnotherProcess IPC and transitionPageToRemotePage() call from ProvisionalPageProxy::didCommitLoadForFrame() to WebPageProxy::commitProvisionalPage(), executing them only when BFCache suspension does not happen. A BFCache-suspended page is frozen in the BackForwardCache, not transitioning to "remote." Skipping the transition for suspended pages avoids creating a stale RemotePageProxy that would later need special cleanup during restoration. No behavior change: the feature flag is OFF by default and the existing Site Isolation path (non-BFCache) calls the same functions in the same synchronous call stack. This is a prep patch for bug 313027 (multi-process BFCache restoration).
Attachments
Basuke Suzuki
Comment 1 2026-04-29 19:35:08 PDT
Basuke Suzuki
Comment 2 2026-04-29 19:35:25 PDT
EWS
Comment 3 2026-04-30 14:01:40 PDT
Committed 312390@main (938ab02fbaf7): <https://commits.webkit.org/312390@main> Reviewed commits have been landed. Closing PR #63943 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.