Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 39679d6a6e4304b324d919d0e51d712d89e76d9b
      
https://github.com/WebKit/WebKit/commit/39679d6a6e4304b324d919d0e51d712d89e76d9b
  Author: Matthew Finkel <[email protected]>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Navigation.mm

  Log Message:
  -----------
  Partitioned cookies may not be sent on resource requests
https://bugs.webkit.org/show_bug.cgi?id=316066
rdar://175507450

Reviewed by Charlie Wolfe.

There is a problem with how we compute and synchronize across processes the
preference's state that controls whether partitioned cookies are enabled. There
is a case where we can erroneously disable partitioned cookies if we are in a
situation where we don't have any WebPageProxy, but we have an active
provisional load. That gap may result in some resource requests where a
partitioned cookie is absent.

The current behavior relies on a WebPageProxy existing. This patch resolves
that issue, and a couple others, by calling propagateSettingUpdates() when a
page is added or removed from a WebsiteDataStore, and immediately after a
network process is created.

* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::networkProcess):
(WebKit::WebsiteDataStore::addPage):
(WebKit::WebsiteDataStore::removePage):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Navigation.mm:
(TEST(WKNavigation, PartitionedCookieSentOnTopLevelRedirect)):
(TEST(WKNavigation, PartitionedCookieSentWhenNetworkProcessExistsBeforePage)):
(TEST(WKNavigation, PartitionedCookieAfterRedirect)):

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



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

Reply via email to