Bug 314130
| Summary: | [Site Isolation] Introduce frameProcessForBackForwardNavigation helper | ||
|---|---|---|---|
| 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
WebPageProxy::processForTheFrameItem() and WebPageProxy::copyFrameStateForBackForwardNavigation() duplicate the same Site Isolation gate logic to decide whether to use the live frame's process or fall back to the legacy main frame process.
Consolidate this into a shared helper WebPageProxy::frameProcessForBackForwardNavigation(frameItem). The helper:
- Returns nullptr when Site Isolation is disabled (the two callers fall back to their default).
- Returns nullptr when the target item has a SuspendedPageProxy (that path is handled by the BFCache restoration logic — avoid picking a stale process here).
- Returns nullptr with a RELEASE_LOG_ERROR if the frame's process is no longer reachable via a RemotePageProxy in the BrowsingContextGroup — a defensive safety-net.
- Otherwise returns the live frame's process.
Both existing call sites are simplified to use the helper.
Prep patch for rdar://173743733 (multi-process BFCache restoration under Site Isolation).
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Basuke Suzuki
<rdar://problem/176305227>
Basuke Suzuki
Pull request: https://github.com/WebKit/WebKit/pull/64314
EWS
Committed 312724@main (e3e8e6850c8d): <https://commits.webkit.org/312724@main>
Reviewed commits have been landed. Closing PR #64314 and removing active labels.