[webkit-changes] [WebKit/WebKit] 16daa2: [cocoa] Support setting partitioned cookies from J...

Commit Queue noreply at github.com
Fri Jan 10 13:21:32 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 16daa23d3ea0022332713096723573f218e149d8
      https://github.com/WebKit/WebKit/commit/16daa23d3ea0022332713096723573f218e149d8
  Author: Matthew Finkel <m_finkel at apple.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/http/tests/cookies/multiple-cookies-with-partitioned.https-expected.txt
    A LayoutTests/http/tests/cookies/multiple-cookies-with-partitioned.https.html
    M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
    M Source/WebCore/platform/network/NetworkStorageSession.cpp
    M Source/WebCore/platform/network/NetworkStorageSession.h
    M Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/Shared/WebProcessDataStoreParameters.h
    M Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebCookieCacheCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp
    M Source/WebKit/WebProcess/WebPage/WebCookieCache.h
    M Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp
    M Source/WebKit/WebProcess/WebPage/WebCookieJar.h
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in

  Log Message:
  -----------
  [cocoa] Support setting partitioned cookies from JS and storing partitioned cookies in cookie cache
https://bugs.webkit.org/show_bug.cgi?id=284550
rdar://141358106

Reviewed by Sihui Liu.

This patch:
 - sets the appropriate partition key when setting a cookie from JavaScript
 - enables partitioned cookies in the in-process cookie cache
 - extends NetworkStorageSession::domCookiesForHost so it returns first-party partitioned cookies

Covered by new layout test. The expected result shows that the implementation
does not currently support two cookies with the same name where one is
partitioned and the other is not.

* LayoutTests/TestExpectations:
* LayoutTests/http/tests/cookies/multiple-cookies-with-partitioned.https-expected.txt: Added.
* LayoutTests/http/tests/cookies/multiple-cookies-with-partitioned.https.html: Added.
* Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
* Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::domCookiesForHost):
* Source/WebCore/platform/network/NetworkStorageSession.h:
* Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::parseDOMCookie):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::domCookiesForHost):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::domCookiesForHost):
* Source/WebKit/Shared/WebProcessDataStoreParameters.h:
* Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::preferencesDidChange):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::webProcessDataStoreParameters):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setOptInCookiePartitioningEnabled):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::propagateSettingUpdates):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebCookieCacheCocoa.mm:
(WebKit::WebCookieCache::setOptInCookiePartitioningEnabled):
* Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp:
(WebKit::WebCookieCache::setOptInCookiePartitioningEnabled):
* Source/WebKit/WebProcess/WebPage/WebCookieCache.h:
* Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::WebCookieJar::setOptInCookiePartitioningEnabled):
* Source/WebKit/WebProcess/WebPage/WebCookieJar.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setWebsiteDataStoreParameters):
(WebKit::WebProcess::setOptInCookiePartitioningEnabled):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:

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



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


More information about the webkit-changes mailing list