Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cb077473952d7036cceedb1a721502d74ee766c5 https://github.com/WebKit/WebKit/commit/cb077473952d7036cceedb1a721502d74ee766c5 Author: Patrick Griffis <pgrif...@igalia.com> Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https-expected.txt M LayoutTests/platform/glib/TestExpectations A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_document_cookie.https.window-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any.serviceworker-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any.serviceworker-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_event_delete.https.window-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_across_origins.sub.https-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/encoding.https.any-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/encoding.https.any.serviceworker-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/serviceworker_cookieStore_cross_origin.https.sub-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/attributes-ctl.sub-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/domain.sub-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/name/name-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.document-cookie-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.document-cookie.https-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.header-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.header.https-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.document-cookie-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.document-cookie.https-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.header-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.header.https-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/document-cookie.non-secure-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/samesite-none-secure/cookies-without-samesite-must-be-secure.https-expected.txt R LayoutTests/platform/gtk/imported/w3c/web-platform-tests/cookies/attributes/attributes-ctl.sub-expected.txt R LayoutTests/platform/gtk/imported/w3c/web-platform-tests/cookies/attributes/domain.sub-expected.txt M Source/WTF/wtf/PlatformHave.h M Source/WebCore/platform/network/NetworkStorageSession.cpp M Source/WebCore/platform/network/NetworkStorageSession.h M Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp M Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/PlatformWPE.cmake M Source/WebKit/SourcesGTK.txt M Source/WebKit/SourcesWPE.txt M Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp A Source/WebKit/WebProcess/WebPage/soup/WebCookieCacheSoup.cpp Log Message: ----------- [SOUP] Add support for the Cookie Store API https://bugs.webkit.org/show_bug.cgi?id=286189 Reviewed by Michael Catanzaro. NetworkStorageSession had two methods that soup did not implement: cookiesForDOMAsVector() and setCookieFromDOM() These methods were implemented matching macOS' behavior along with some minor refactoring to ensure all cookie code-paths do the same thing. Once these methods are implemented it depends on the HAVE(COOKIE_CHANGE_LISTENER_API) build option, this involves calling out from the cookiesDidChange to observers managed with startListeningForCookieChangeNotifications()/stopListeningForCookieChangeNotifications(). Enabling that option then enables WebCookieCache, a cache of cookies maintained in the WebProcess, WebCookieCacheSoup.cpp just makes an in-memory SoupCookieJar. In order to test these changes the cookies tests in web-platform-tests were ran, these were largely just outdated so had to be rebaselined. * LayoutTests/imported/w3c/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https-expected.txt: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_document_cookie.https.window-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any.serviceworker-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any.serviceworker-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_across_origins.sub.https-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/encoding.https.any-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/encoding.https.any.serviceworker-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookie-store/serviceworker_cookieStore_cross_origin.https.sub-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/attributes-ctl.sub-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/cookies/attributes/attributes-ctl.sub-expected.txt. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/domain.sub-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/invalid-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/attributes/max-age-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/name/name-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.document-cookie-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.document-cookie.https-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.header-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__host.header.https-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.document-cookie-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.document-cookie.https-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.header-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/__secure.header.https-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/prefix/document-cookie.non-secure-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/samesite-none-secure/cookies-without-samesite-must-be-secure.https-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/cookies/value/value-expected.txt: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/cookies/attributes/domain.sub-expected.txt: Removed. * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/platform/network/NetworkStorageSession.cpp: * Source/WebCore/platform/network/NetworkStorageSession.h: * Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::NetworkStorageSession::NetworkStorageSession): (WebCore::NetworkStorageSession::cookiesDidChange): (WebCore::NetworkStorageSession::setCookieStorage): (WebCore::NetworkStorageSession::getCredentialFromPersistentStorage): (WebCore::NetworkStorageSession::saveCredentialToPersistentStorage): (WebCore::NetworkStorageSession::setCookieFromDOM const): (WebCore::NetworkStorageSession::replaceCookies): (WebCore:: const): (WebCore::cookiesToHeader): (WebCore::NetworkStorageSession::getRawCookies const): (WebCore::NetworkStorageSession::domCookiesForHost): (WebCore::NetworkStorageSession::cookiesForDOM const): (WebCore::NetworkStorageSession::cookiesForDOMAsVector const): (WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const): (WebCore::NetworkStorageSession::startListeningForCookieChangeNotifications): (WebCore::NetworkStorageSession::stopListeningForCookieChangeNotifications): (WebCore::cookiesForSession): Deleted. * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::shouldTreatAsSameSite): * Source/WebKit/PlatformWPE.cmake: * Source/WebKit/SourcesGTK.txt: * Source/WebKit/SourcesWPE.txt: * Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp: * Source/WebKit/WebProcess/WebPage/soup/WebCookieCacheSoup.cpp: Added. (WebKit::WebCookieCache::inMemoryStorageSession): Canonical link: https://commits.webkit.org/289693@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