Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e5c28ab427893062a493fab9b03fece43dde982
https://github.com/WebKit/WebKit/commit/3e5c28ab427893062a493fab9b03fece43dde982
Author: Matthew Finkel <[email protected]>
Date: 2025-10-31 (Fri, 31 Oct 2025)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Tools/TestWebKitAPI/Tests/mac/LoadWebArchive.mm
Log Message:
-----------
[cocoa] Can't open web archives in some apps
https://bugs.webkit.org/show_bug.cgi?id=301744
rdar://158724576
Reviewed by Alex Christensen and Sihui Liu.
In 274565@main, we began loading all web archives in a temporary non-persistent
datastore. Then, beginning in 293040@main, we began tracking the cookie version
in the data store instead of the NetworkProcessProxy. When combined, this
behavior may caused an inconsistency with the new cookie versioning logic where
the NetworkStorageSession was initialized with one cookies version (0) and the
load request included the cookies version of the original datastore. When that
happens, a data task can become stalled indefinitely. This patch overwrites the
WebPageProxy's m_websiteDataStore member with the temporary non-persistent
datastore while that is being used, and then restores it on the next
navigation. Not overwriting the member variable was probably an oversight in
the original patch, but it seems like this is the first time that is causing a
problem.
Test: Tools/TestWebKitAPI/Tests/mac/LoadWebArchive.mm
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationActionPolicyDecision):
* Tools/TestWebKitAPI/Tests/mac/LoadWebArchive.mm:
(TestWebKitAPI::TEST(LoadWebArchive, ClientNavigationSucceedWithCookie)):
Canonical link: https://commits.webkit.org/302394@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications