RESOLVED FIXED315105
[Site Isolation] Add WebFrameProxy children manipulation and WebBackForwardCacheEntry caching foundations
https://bugs.webkit.org/show_bug.cgi?id=315105
Summary [Site Isolation] Add WebFrameProxy children manipulation and WebBackForwardCa...
Basuke Suzuki
Reported 2026-05-19 09:22:16 PDT
Add the UIProcess-side foundations needed by the upcoming UI-driven iframe orchestration for same-site BFCache with cross-site iframes: - WebFrameProxy::takeChildFrames / adoptChildFrames: API to detach the direct iframe children of a frame and reattach them later. Used to move the cross-site iframe WebFrameProxys off m_childFrames while the page is in BFCache and put them back on restore. - WebBackForwardCacheEntry: setCachedChildren / takeCachedChildren / hasCachedChildren / referencesIframeProcess. Lets the cache entry hold the detached children for the duration of the cache and answer process-death questions over the cached subtree. - WebBackForwardCache::removeEntriesForProcess: extend the process-termination cascade to walk WebBackForwardCacheEntry::referencesIframeProcess so an entry whose cached subtree references a now-dead WebProcess gets dropped. - WebProcess IPCs: rename ClearCachedPage → DiscardCachedPage; add DiscardCachedIframe (UI→iframe WP). Both are dispatched from ~WebBackForwardCacheEntry to evict the corresponding per-process cached state when the entry is destroyed. This PR adds the API surface and wiring; the call sites that exercise it (the cache-side walker, restore-side adopt, etc.) land in the feature-enable PR. No behavior change for users (cross-site iframe BFCache remains gated and currently has no orchestration that uses these APIs). rdar://177439863
Attachments
Basuke Suzuki
Comment 1 2026-05-20 22:59:27 PDT
EWS
Comment 2 2026-05-22 00:08:13 PDT
Committed 313713@main (e16931a76e07): <https://commits.webkit.org/313713@main> Reviewed commits have been landed. Closing PR #65378 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.