-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement the Cookie Store API get/set/delete functions for Service Workers #17083
Conversation
This pr is still in progress (so I've marked it as a draft). I still need to investigate a few layout test results that are running as intended. |
EWS run on previous version of this PR (hash fca72fd) |
fca72fd
to
40c442c
Compare
EWS run on previous version of this PR (hash 40c442c) |
40c442c
to
27468e3
Compare
EWS run on previous version of this PR (hash 27468e3) |
27468e3
to
992df0f
Compare
EWS run on previous version of this PR (hash 992df0f) |
992df0f
to
dbccfd0
Compare
EWS run on previous version of this PR (hash dbccfd0) |
b1c3710
to
8626c7a
Compare
EWS run on previous version of this PR (hash 8626c7a) |
a22662a
to
be4e95c
Compare
EWS run on previous version of this PR (hash be4e95c) |
be4e95c
to
e1f8ec2
Compare
EWS run on previous version of this PR (hash e1f8ec2) |
e1f8ec2
to
bfa34c8
Compare
EWS run on current version of this PR (hash bfa34c8) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I think it looks good, assuming EWS is happy.
β¦orkers 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
bfa34c8
to
2ecb71d
Compare
Committed 268055@main (2ecb71d): https://commits.webkit.org/268055@main Reviewed commits have been landed. Closing PR #17083 and removing active labels. |
2ecb71d
bfa34c8