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