[webkit-changes] [WebKit/WebKit] 2ecb71: Implement the Cookie Store API get/set/delete func...

Rupin Mittal noreply at github.com
Sat Sep 16 12:39:17 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2ecb71d1b38b5f41d1c2cfd7baf45972e01c76d7
      https://github.com/WebKit/WebKit/commit/2ecb71d1b38b5f41d1c2cfd7baf45972e01c76d7
  Author: Rupin Mittal <rupin at apple.com>
  Date:   2023-09-16 (Sat, 16 Sep 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_basic.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_arguments.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_multiple.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_arguments.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_delete_basic.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_across_frames.https-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_basic.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_ordering.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_opaque_origin.https-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_set_arguments.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_special_names.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cookie-store/encoding.https.any.serviceworker-expected.txt
    M Source/WebCore/Modules/cookie-store/CookieInit.h
    M Source/WebCore/Modules/cookie-store/CookieStore.cpp
    M Source/WebCore/Modules/cookie-store/CookieStore.h
    M Source/WebCore/Modules/cookie-store/CookieStoreGetOptions.h
    M Source/WebCore/loader/CookieJar.cpp
    M Source/WebCore/platform/Cookie.h
    M Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
    M Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp

  Log Message:
  -----------
  Implement the Cookie Store API get/set/delete functions for Service Workers
https://bugs.webkit.org/show_bug.cgi?id=260737

Reviewed by Chris Dumez.

The Cookie Store API should be supported for Service Workers. This patch
adds Service Worker support for the get/set/delete cookie functions.
The Cookie Store is now created using a ScriptExecutionContext rather
the CookieJar where needed.

Since get/set/delete are called through the CookieJar, and CookieJar is
a main thread object, we now have a CookieStore::MainThreadBridge which
is used to hop between the main thread and the service worker thread
when needed. This will also be used for cookie change notifications in
a future patch.

* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieListItem_attributes.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_arguments.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_delete_basic.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_arguments.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_multiple.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_arguments.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_delete_basic.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_across_frames.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_basic.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_get_set_ordering.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_opaque_origin.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_set_arguments.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/cookieStore_special_names.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookie-store/encoding.https.any.serviceworker-expected.txt:
* Source/WebCore/Modules/cookie-store/CookieInit.h:
(WebCore::CookieInit::isolatedCopy const):
(WebCore::CookieInit::isolatedCopy):
* Source/WebCore/Modules/cookie-store/CookieStore.cpp:
(WebCore::CookieStore::MainThreadBridge::create):
(WebCore::CookieStore::MainThreadBridge::MainThreadBridge):
(WebCore::CookieStore::MainThreadBridge::ensureOnMainThread):
(WebCore::CookieStore::MainThreadBridge::ensureOnContextThread):
(WebCore::CookieStore::MainThreadBridge::get):
(WebCore::CookieStore::MainThreadBridge::getAll):
(WebCore::CookieStore::MainThreadBridge::set):
(WebCore::CookieStore::create):
(WebCore::CookieStore::CookieStore):
(WebCore::CookieStore::get):
(WebCore::CookieStore::getAll):
(WebCore::CookieStore::set):
(WebCore::CookieStore::cookiesAdded):
(WebCore::CookieStore::cookiesDeleted):
(WebCore::CookieStore::stop):
(WebCore::CookieStore::eventListenersDidChange):
(WebCore::CookieStore::takePromise):
* Source/WebCore/Modules/cookie-store/CookieStore.h:
* Source/WebCore/Modules/cookie-store/CookieStoreGetOptions.h:
(WebCore::CookieStoreGetOptions::isolatedCopy const):
(WebCore::CookieStoreGetOptions::isolatedCopy):
* Source/WebCore/loader/CookieJar.cpp:
(WebCore::CookieJar::sameSiteInfo):
* Source/WebCore/platform/Cookie.h:
(WebCore::Cookie::Cookie):
(WebCore::Cookie::isolatedCopy const):
(WebCore::Cookie::isolatedCopy):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::cookieStore):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOMAsync):
(WebKit::NetworkConnectionToWebProcess::setCookieFromDOMAsync):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
* Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::WebCookieJar::getCookiesAsync const):
(WebKit::WebCookieJar::setCookieAsync const):

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




More information about the webkit-changes mailing list