Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f2eb408669825f865b4055ff06eb9e5e342c51b
https://github.com/WebKit/WebKit/commit/9f2eb408669825f865b4055ff06eb9e5e342c51b
Author: Adrian Taylor <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M Source/WebKit/Shared/SessionState.h
M Source/WebKit/UIProcess/StdlibExtras.swift
M Source/WebKit/UIProcess/WebBackForwardList.swift
Log Message:
-----------
Update Swift BFList to match CPP
https://bugs.webkit.org/show_bug.cgi?id=309154
rdar://171703088
Reviewed by Richard Robinson and Sihui Liu.
There have been two recent changes to the C++ Back Forward List for site
isolation work; this updates the Swift equivalent to match.
In https://bugs.webkit.org/show_bug.cgi?id=308939, the C++ Back Forward List
was updated; the description was:
"Preserve navigatedFrameID in session state for correct child frame
back/forward navigation"
In https://bugs.webkit.org/show_bug.cgi?id=308562, it was updated again:
"Route same-site child frame back/forward navigations through UIProcess when
UseUIProcessForBackForwardItemLoading is enabled."
The Swift version is brought up to date in this PR.
Specifically the changes are:
- mark the new BackForwardListItemState type as escapable, which means
we are promising Swift that any interior pointers do not refer to
surrounding objects (vectors etc.) that might contain it.
- broaden the existing CxxRefVectorIterator to work with any
WTF::Vector where the contents are copyable (which therefore includes
BackForwardListItemState)
- add the ability to retrieve the FrameState reference from a
WebBackForwardListFrameItem (this adds an 'unsafe';
there would be no need for this with the very most recent SDKs)
- make code changes corresponding to the changes in the C++
In the process, update a few unrelated comments to fix rdar numbers
where bugs have been marked as duplicates of other bugs.
Canonical link: https://commits.webkit.org/308700@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications