Bug 313709
| Summary: | [Site Isolation] Defer transitionPageToRemotePage to after BFCache suspension decision | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Basuke Suzuki <basuke> |
| Component: | New Bugs | Assignee: | 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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Basuke Suzuki
<rdar://problem/175905576>
Basuke Suzuki
Pull request: https://github.com/WebKit/WebKit/pull/63943
EWS
Committed 312390@main (938ab02fbaf7): <https://commits.webkit.org/312390@main>
Reviewed commits have been landed. Closing PR #63943 and removing active labels.