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

Reply via email to