Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2ced7d86c6f3dd9fd1b5cfd8c772f5184aeb272c
      
https://github.com/WebKit/WebKit/commit/2ced7d86c6f3dd9fd1b5cfd8c772f5184aeb272c
  Author: Zak Ridouh <[email protected]>
  Date:   2026-10-13 (Tue, 13 Oct 2026)

  Changed paths:
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Tools/TestWebKitAPI/PlatformCocoa.cmake
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolationSessionStateTests.swift

  Log Message:
  -----------
  [Site Isolation] Form and scroll state of cross-site iframes isn't saved when 
the web view is hidden
<https://bugs.webkit.org/show_bug.cgi?id=326160>
<rdar://problem/189051238>

Reviewed by BJ Burg.

Hiding the web view did not save the form or scroll state of cross-site 
iframes, because only the local main frame
was saved and a cross-site iframe's process has none. Save the state of every 
local root frame instead.

This only covers a cross-site iframe whose current back/forward item came from 
its own process, such as one that has
navigated since the page loaded. The UI process doesn't yet tell a frame's 
process the identifier it gave the frame's
first item, so the state of an iframe that hasn't navigated is still dropped.

Test: 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolationSessionStateTests.swift

* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::visibilityDidChange):
* Tools/TestWebKitAPI/PlatformCocoa.cmake:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolationSessionStateTests.swift:
 Added.
(SiteIsolationSessionStateTests.crossSiteIframeFormStateSavedWhenViewIsHiddenIsRestoredFromSessionState):

Canonical link: https://commits.webkit.org/323617@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to