Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 31cf39eea5b44aaacf7a745ca14eb2703d2e8799 https://github.com/WebKit/WebKit/commit/31cf39eea5b44aaacf7a745ca14eb2703d2e8799 Author: Charlie Wolfe <charl...@apple.com> Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths: M Source/WebKit/UIProcess/WebBackForwardList.cpp M Tools/TestWebKitAPI/Tests/WebKit/WKBackForwardListTests.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: ----------- REGRESSION(288409@main): Session restore may treat a child frame’s state as the main frame https://bugs.webkit.org/show_bug.cgi?id=289142 rdar://146207266 Reviewed by Pascoe. After 288409@main, history state is only constructed for navigating frames. If a navigation occurs in a child frame, the UI process reconstructs the history state for the entire frame tree. However, when retrieving and restoring session state, this reconstruction can fail for child frame navigations because frame IDs will have changed after session restoration. For now, when outputting session state, we should include the entire frame tree for each navigation. This should restore the previous session restore behavior from before 288409@main. * Source/WebKit/UIProcess/WebBackForwardList.cpp: (WebKit::WebBackForwardList::backForwardListState const): (WebKit::WebBackForwardList::restoreFromState): * Tools/TestWebKitAPI/Tests/WebKit/WKBackForwardListTests.mm: (TEST(WKBackForwardList, GoBackToPageAfterNavigatingIframeAndRestoringSession)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, DISABLED_NavigateIframeSameOriginBackForwardAfterSessionRestore)): (TestWebKitAPI::TEST(SiteIsolation, DISABLED_NavigateIframeCrossOriginBackForwardAfterSessionRestore)): (TestWebKitAPI::TEST(SiteIsolation, NavigateIframeSameOriginBackForwardAfterSessionRestore)): Deleted. (TestWebKitAPI::TEST(SiteIsolation, NavigateIframeCrossOriginBackForwardAfterSessionRestore)): Deleted. Canonical link: https://commits.webkit.org/291633@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes