New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 729800 link

Starred by 26 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature


Sign in to add a comment

Async Cookies API

Project Member Reported by bsittler@chromium.org, Jun 5 2017

Issue description

IMPORTANT:
- This launch issue is used for standards and implementation tracking only.
It is NOT for Chrome approval regarding privacy, security, legal, UI,
testing,
accessibility etc.
- An overview of the different launch issues can be found here:
http://bit.ly/2ncKZfp
- If your feature requires security / privacy / etc approval then seek a PM
to guide you through the go/newchromefeature process
 
See http://www.chromium.org/blink#launch-process for an overview of the
Blink launch process, but note this doesn't cover security / privacy / etc
reviews as discussed above.
 
----------
 
Change description:
This adds an asynchronous cookie API to documents and Service Workers.
 
Changes to API surface:

- write (or "set") cookies by self.cookieStore.set
- delete (or "expire") cookies by self.cookieStore.delete
- read (or "get") script-visible cookies by self.cookieStore.get
 - ... including for specified in-scope request paths in service worker contexts
- monitor script-visible cookies for changes
 - ... using new self.CookieObserver(callback).observe in long-running script -
- contexts (e.g. document)
 - ... using addEventListener('cookiechange', handler) after registration during the InstallEvent in ephemeral service worker contexts by event.registerCookieChangeInterest
 - ... again including for script-supplied in-scope request paths in service worker contexts
 
See the explainer on WICG GitHub for further in-depth discussion of the proposal: https://github.com/WICG/async-cookies-api/blob/gh-pages/explainer.md
 
Links:
Public standards discussion: https://discourse.wicg.io/t/rfc-proposal-for-an-asynchronous-cookies-api/1652
Intent to implement discussion on blink-dev: https://groups.google.com/a/chromium.org/d/msg/blink-dev/gU-tSdjR4rA/hAYgmxiHCAAJ
 
Support in other browsers: None, yet
Internet Explorer: Not yet
Firefox: Not yet
Safari: Not yet
 

 

Comment 1 Deleted

Comment 2 by falken@chromium.org, Jun 15 2017

This sounds really cool.

Could I suggest Blink>Storage>Cookies? The Blink>ServiceWorker triage process works best when core service worker bugs are filed against it, and I imagine we'll have more bugs filed as implementation of the Async Cookies API progresses.
Description: Show this description

Comment 4 by bgir...@fb.com, Jul 20 2017

Labels: DevRel-Facebook
We (Facebook) have been reviewing our automated Chrome tracing data and we're seeing cookie as a huge source of jank. It's actually the single primary outlier. This would be very useful for improving page performance. We're seeing 1s+ outlier for document.cookie calls.

Comment 5 by costan@google.com, Aug 7 2017

Labels: -Pri-3 Pri-2
Cc: bsittler@chromium.org
Labels: -Pri-2 Pri-1
Owner: pwnall@chromium.org

Comment 7 by owe...@chromium.org, Aug 11 2017

Cc: bradnelson@chromium.org

Comment 8 Deleted

Comment 9 by pwnall@chromium.org, Aug 26 2017

#8: What is your intent behind attaching that file to this bug?
Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cee9794818dae77154680304d05602a9b0858335

commit cee9794818dae77154680304d05602a9b0858335
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Oct 12 22:40:50 2017

Skeleton for the Async Cookies API.

This is a skeleton for the browser-side, renderer-side, and Mojo implementation
of the Async Cookies API.

In the interest of keeping the CL readable, the skeleton does not
include difficult details such as security checks and thorough option
parsing. The CL also doesn't implement the "easy" methods that can be
written on top of CookieStore.getAll and CookieStore.set. Once this Mojo
skeleton is landed, follow-up CLs will fill these gaps and add test
coverage using WPT-style layout tests.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I4328d9b92422d6d10f04ebe72e6461a71969a857
Reviewed-on: https://chromium-review.googlesource.com/602673
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508508}
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/BUILD.gn
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/cookie_manager_impl_unittest.cc
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/network_context.cc
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/network_context.h
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/restricted_cookie_manager_impl.cc
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/restricted_cookie_manager_impl.h
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/network/restricted_cookie_manager_impl_unittest.cc
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/public/common/network_service.mojom
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/content/test/BUILD.gn
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/services/network/public/interfaces/BUILD.gn
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/services/network/public/interfaces/restricted_cookie_manager.mojom
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/OWNERS
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/README.md
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_getAll_set.html
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/BUILD.gn
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/BUILD.gn
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieListItem.idl
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieStore.cpp
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieStore.h
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieStore.idl
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieStoreGetOptions.idl
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/CookieStoreSetOptions.idl
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/DEPS
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/GlobalCookieStore.cpp
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/GlobalCookieStore.h
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/OWNERS
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/README.md
[add] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/cookie_store/WindowCookieStore.idl
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/cee9794818dae77154680304d05602a9b0858335/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9eaf6c8c7ed01ca9d60138961a643284f4297be7

commit 9eaf6c8c7ed01ca9d60138961a643284f4297be7
Author: Benjamin C. Wiley Sittler <bsittler@chromium.org>
Date: Wed Nov 08 22:04:58 2017

Async Cookies API: First layout tests.

R=pwnall@chromium.org

Bug: 602752
Bug: 729800
Change-Id: I3f6ff95ab82e7c00f9dfff1b612aa2be9761c91f
Reviewed-on: https://chromium-review.googlesource.com/594890
Commit-Queue: Benjamin Wiley Sittler <bsittler@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514961}
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative.https-expected.txt
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative.https.html
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/resources/cookie-store-tests.js
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/resources/cookie_helper.py
[add] https://crrev.com/9eaf6c8c7ed01ca9d60138961a643284f4297be7/third_party/WebKit/LayoutTests/external/wpt/async_cookies/resources/testharness-helpers.js

Components: -Blink>ServiceWorker Blink>Storage>CookiesAPI
Blockedon: 783229
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c4521d2d5abe8cc2fa90b41749d995adff34b521

commit c4521d2d5abe8cc2fa90b41749d995adff34b521
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Nov 10 00:57:10 2017

Async Cookies: Blink-side implementation of the document API.

This CL implements a subset of cookie filtering in
RestrictedCookieManager::GetAllForUrl. The implementation is the minimum
needed to verify that CookieStore.{get,getAll,has} passes matchType
correctly to the backend.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I02f9dcf624ef47e0f8e79d68fb51fae27b1c489d
Reviewed-on: https://chromium-review.googlesource.com/756093
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515388}
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/content/network/restricted_cookie_manager.cc
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/content/network/restricted_cookie_manager_unittest.cc
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/cookie_store_tests_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/delete_cookies_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/document_cookie_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/expiration_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/get_set_get_all_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/http_cookie_and_set_cookie_headers.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/meta_http_equiv_set_cookie_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_and_no_value_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_equals_in_value_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/no_name_multiple_values_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/observation_static.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie.tentative.https-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative-expected.txt
[delete] https://crrev.com/fee210a1eab70bce96c7726d97e3907dfcadd19e/third_party/WebKit/LayoutTests/external/wpt/async_cookies/one_simple_origin_cookie_static.tentative.https-expected.txt
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_delete_arguments.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_getAll_arguments.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_get_arguments.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_has_arguments.html
[rename] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_in_detached_frame.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_set_arguments.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/cookieStore_special_names.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_getAll_multiple.html
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_getAll_set.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_get_delete.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_get_set.html
[add] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/http/tests/storage/async_cookies/document_has.html
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieListItem.idl
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieStore.cpp
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieStore.h
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieStore.idl
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieStoreGetOptions.idl
[modify] https://crrev.com/c4521d2d5abe8cc2fa90b41749d995adff34b521/third_party/WebKit/Source/modules/cookie_store/CookieStoreSetOptions.idl

The handling of the domain attribute is not quite spec-compliant: explicit values need to be (internally) prefixed with '.' to match the rest of Chrome.
Project Member

Comment 17 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6

commit 3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Dec 15 23:23:30 2017

Cookies API: Wire cookieStore to ServiceWorker.

Bug: 729800
Change-Id: Ic4753af825aa89e26c06da2ff944f03667669697
Reviewed-on: https://chromium-review.googlesource.com/818451
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524512}
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/content/public/app/mojo/content_browser_manifest.json
[rename] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/LayoutTests/external/wpt/cookie-store/get_set.tentative.window.js
[add] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookiestore_basic.js
[add] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookiestore_basic.tentative.https.html
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/cookie_store/CookieStore.cpp
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/cookie_store/CookieStore.idl
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/cookie_store/GlobalCookieStore.cpp
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/cookie_store/GlobalCookieStore.h
[add] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/cookie_store/ServiceWorkerGlobalScopeCookieStore.idl
[modify] https://crrev.com/3e7fa0cf7021e4f3e65393c4ff4d110e39bb32f6/third_party/WebKit/Source/modules/modules_idl_files.gni

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/228eb87a81d6200eebf5e435a86cd52d0b5c6393

commit 228eb87a81d6200eebf5e435a86cd52d0b5c6393
Author: Victor Costan <pwnall@chromium.org>
Date: Mon Dec 18 23:46:29 2017

Cookie Store API: Add more WPT coverage for Service Worker.

Bug: 729800
Change-Id: I5de81be0eb6cd2f90722e42655ce58ef52d3d26f
Reviewed-on: https://chromium-review.googlesource.com/831254
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524860}
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_delete_arguments.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_getAll_arguments.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_getAll_set_basic.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_arguments.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_delete_basic.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_set_basic.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_has_arguments.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_has_basic.tentative.window.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_set_arguments.tentative.window.js
[add] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_arguments.js
[copy] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_arguments.tentative.https.html
[add] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_basic.js
[rename] https://crrev.com/228eb87a81d6200eebf5e435a86cd52d0b5c6393/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_basic.tentative.https.html
[delete] https://crrev.com/4e9643a8dacdf1d27b299b96dd46361bf97b66ef/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookiestore_basic.js

Project Member

Comment 20 by bugdroid1@chromium.org, Feb 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/548258ccd28b657f7573ca832fbfd557c2922601

commit 548258ccd28b657f7573ca832fbfd557c2922601
Author: Joshua Bell <jsbell@chromium.org>
Date: Mon Feb 12 21:10:42 2018

Async Cookies: Fix globals in idlharness test

Globals (Window, ServiceWorkerGlobalScope, etc) get special bindings
treatment for methods/properties and IDL tests for features need to
declare these types correctly for correct results. Fix the SW test for
the new cookie store API by marking the global with the [Global]
extended attribute; this reveals that our implementation passes all
the bindings test cases.

Bug: 729800
Change-Id: I87747ed2af8d932342e24c9400524d88c9df73a7
Reviewed-on: https://chromium-review.googlesource.com/914568
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536189}
[modify] https://crrev.com/548258ccd28b657f7573ca832fbfd557c2922601/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness.tentative.html
[modify] https://crrev.com/548258ccd28b657f7573ca832fbfd557c2922601/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness_serviceworker.js
[delete] https://crrev.com/aca48796095187056bc808503b3562fd3baf2af0/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness_serviceworker.tentative.https-expected.txt

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/882ea279002ed19a2604d849f24aad02718811c9

commit 882ea279002ed19a2604d849f24aad02718811c9
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Feb 15 04:14:32 2018

Network Service: CookieManager observer API refactoring.

This CL aligns CookieManager's interface for listening to cookie changes
(observer pattern) with the proposed addition to
RestrictedCookieManager, which will be used by the Async Cookies API.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I0464b0d1d0388279e549d19c5dbeea2d0342cc60
Reviewed-on: https://chromium-review.googlesource.com/913151
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536944}
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/chrome/browser/extensions/extension_cookie_notifier.cc
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/chrome/browser/extensions/extension_cookie_notifier.h
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/services/network/cookie_manager.cc
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/services/network/cookie_manager.h
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/services/network/cookie_manager_unittest.cc
[modify] https://crrev.com/882ea279002ed19a2604d849f24aad02718811c9/services/network/public/mojom/cookie_manager.mojom

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f8cb27d6e3051319643aef24c79cd94db0b52aa1

commit f8cb27d6e3051319643aef24c79cd94db0b52aa1
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Feb 21 09:16:23 2018

Cookie Store: Revamp change observation tests.

//net/cookies/cookie_store_unittest.h contains tests against the
net::CookieStore interface, which is implemented by net::CookieMonster
(in //net/cookies), android_webview::AwCookieStoreWrapper (in
//android_webview/browser/net), and net::CookieStoreIOS and
net::CookieStoreIOSPersistent (in //ios/net/cookies).

Currently, the tests for net::CookieStore::AddCallbackForCookie() are in
//net/cookies/cookie_monster_unittest.cc, so they are not run against
the other net::CookieStore implementations. This is highly undesirable,
as it opens up the possibility for bugs to creep into the other
implementations.

This CL takes the following steps to fix this situation:

1) Move AddCallbackForCookie() tests from cookie_monster_unittest.h to a
   new header file, cooie_store_change_unittest.h.
2) Move AddCallbackForAllChange() tests from cookie_store_unittest.h to
   to the same new new header file, cooie_store_change_unittest.h.
3) Harmonize test styles.
4) Sync the tests for AddCallbackForCookie() with the tests for
   AllCallbackForAllChanges(), so they have the same coverage. This
   results in new tests for both cases.
5) Add more tests covering the change filtering in AddCallbackForCookie().
6) Fix the bugs uncovered by running the tests against
   AwCookieStoreWrapper.

The iOS cookie store implementations will be fixed in a separate CL.

Bug: 729800,  770269 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I10f0a24755a5858d2faa291ef6b855f43a880ec3
Reviewed-on: https://chromium-review.googlesource.com/925694
Reviewed-by: David Roger <droger@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538047}
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/android_webview/browser/net/aw_cookie_store_wrapper.cc
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/android_webview/browser/net/aw_cookie_store_wrapper_unittest.cc
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/net/BUILD.gn
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/net/cookies/cookie_monster_unittest.cc
[add] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/net/cookies/cookie_store_change_unittest.h
[modify] https://crrev.com/f8cb27d6e3051319643aef24c79cd94db0b52aa1/net/cookies/cookie_store_unittest.h

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b805fbab25e6ce02debf3ee95d15e3c9b8c1f445

commit b805fbab25e6ce02debf3ee95d15e3c9b8c1f445
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Feb 21 13:49:42 2018

Cookie Store: Replace explicit ThreadChecker use with macros on iOS.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I8f121ed6688b74dda3a78a833a1de0ac58f26dac
Reviewed-on: https://chromium-review.googlesource.com/925695
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538088}
[modify] https://crrev.com/b805fbab25e6ce02debf3ee95d15e3c9b8c1f445/ios/net/cookies/cookie_store_ios.h
[modify] https://crrev.com/b805fbab25e6ce02debf3ee95d15e3c9b8c1f445/ios/net/cookies/cookie_store_ios.mm
[modify] https://crrev.com/b805fbab25e6ce02debf3ee95d15e3c9b8c1f445/ios/net/cookies/cookie_store_ios_persistent.mm

Project Member

Comment 24 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb17d1adfc6538ef3583a28544a025826b25839f

commit fb17d1adfc6538ef3583a28544a025826b25839f
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Feb 23 03:42:26 2018

Cookie Store: Clarify that CookieStoreIOS assumes SystemCookiesAllowed.

CookieStoreIOS is one of the two iOS implementations of CookieStore.
Most methods that implement the CookieStore interface have
DCHECK(SystemCookiesAllowed()), whereas a few methods instead handle the
case where SystemCookiesAllowed() returns false.

It is unlikely that the resulting CookieStore implementation is usable
when SystemCookiesAllowed() is false.
* SetCanonicalCookieAsync() calls the system cookie store with no
  workaround
* SetCookieWithOptionsAsync() DCHECKs
* GetCookiesWithOptionsAsync() DCHECKs
* GetCookieListWithOptionsAsync() calls into the CookieMonster
* GetAllCookiesAsync() calls into the CookieMonster
* DeleteCookieAsync() calls into the system cookie store with no
  workaround
* DeleteCanonicalCookieAsync() calls into the system cookie store with
  no workaround

Also, CookieStoreIOS() is currently only instantiated in
CronetEnvironment, which also sets the system cookie store's policy to
NSHTTPCookieAcceptPolicyAlways.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I438b3c9c84f8fbc50a5494b0f9c6ef686b978eca
Reviewed-on: https://chromium-review.googlesource.com/931162
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538689}
[modify] https://crrev.com/fb17d1adfc6538ef3583a28544a025826b25839f/ios/net/cookies/cookie_store_ios.mm

We probably need to move the intended launch milestone.
Labels: -M-63
Project Member

Comment 27 by bugdroid1@chromium.org, Feb 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/858749454ca817bcd0dbd114a2f9fc067f18f0ea

commit 858749454ca817bcd0dbd114a2f9fc067f18f0ea
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Feb 28 04:11:44 2018

Cookie Store: Remove GetCookiesWithOptionsAsync.

CookieStore::GetCookiesWithOptionsAsync is conceptually a convenience
method on top of CookieStore::GetCookieListWithOptionsAsync, and is only
used in Android-specific code and in tests. CookieStore is a fairly
low-level abstract interface with many implementations, so convenience
methods are fairly expensive. The usage of GetCookieListWithOptionsAsync
is not high enough to be worth its cost.

This CL removes the method, and rewrites the relevant tests to use
GetCookieListWithOptionsAsync, so they cover the code that's actually
used in production. In order to avoid changing Android WebView APIs,
this CL uses CookieStore::BuildCookieLine in conjunction with
CookieStore::GetCookieListWithOptionsAsync.

This approach introduces a potential behavior change in
MediaResourceGetterImpl. Previously, the GetCookies implementation
invoked CookieStore::GetAllCookiesForURLAsync to obtain a
net::CookieList that was passed to ContentBrowserClient::AllowGetCookie,
and then invoked CookieStore::GetCookiesWithOptionsAsync to obtain a
std::string that was passed to the GetCookies' callback. The new
implementation uses CanonicalCookie::BuildCookieLine to convert the
net::CookieList seen by AllowGetCookie to a std::string that is passed
to GetCookies' callback. This means that AllowGetCookie will definitely
operate on the same data that is passed to GetCookies' callback.

Bug: 729800, 588081
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I56c9bfa5e8bf9d6b627d752e5b4962029577d122
Reviewed-on: https://chromium-review.googlesource.com/936790
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539704}
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/android_webview/browser/cookie_manager.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/android_webview/browser/net/aw_cookie_store_wrapper.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/android_webview/browser/net/aw_cookie_store_wrapper.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/chrome/test/base/ui_test_utils.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/content/browser/media/android/media_resource_getter_impl.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/content/browser/media/android/media_resource_getter_impl.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios.mm
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_persistent.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_persistent.mm
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_test_util.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_test_util.mm
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/BUILD.gn
[add] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/canonical_cookie_test_helpers.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_monster.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_monster.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_monster_perftest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_monster_unittest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store_test_callbacks.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store_test_callbacks.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store_test_helpers.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store_test_helpers.h
[delete] https://crrev.com/a52cb5abfa5183b5627020b749c55de5304c5610/net/cookies/cookie_store_unittest.cc
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/cookies/cookie_store_unittest.h
[modify] https://crrev.com/858749454ca817bcd0dbd114a2f9fc067f18f0ea/net/websockets/websocket_stream_cookie_test.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Mar 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14f47c129185c7827ff41d728bafb9848d726cf8

commit 14f47c129185c7827ff41d728bafb9848d726cf8
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Mar 01 08:02:24 2018

Cookie Store: Extract change notifications to separate classes.

Currently, CookieStore implementations are responsible for storing
cookies and dispatching notifications when the cookies they store
change. The dispatch logic is non-trivial, and will grow to support the
Async Cookies API (see the associated bug), so it deserves its own
class.

This CL splits off the change notification dispatch as follows:

* CookieStore -> CookieChangeDispatcher
* CookieMonster -> CookieMonsterChangeDispatcher
* AwCookieStoreWrapper -> AwCookieStoreChangeDispatcherWrapper
* CookieStoreIOS -> CookieChangeDispatcherIOS

Due to complexities and upcoming refactoring in the iOS CookieStore
implementations, the existing implementation is not split up. Instead,
CookieChangeDispatcherIOS is a proxy that directs AddCallback*() calls
to CookieStoreIOS. The other CookieStore implementations (CookieMonster,
AwCookieStoreWrapper) have the change notification dispatch code moved
into the ChangeDispatcher classes.

This CL also changes the listener registration APIs to pass
base::Callbacks by value instead of passing them by reference, per
https://chromium.googlesource.com/chromium/src/+/master/docs/callback.md

This CL is large, but only does renames / code moving / minor cleanups.
It opens up the way for a small (but dense) CL that will revamp the
notification dispatch logic.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ie56b036419a85f7802c6b1d4bb2c935b58232374
Reviewed-on: https://chromium-review.googlesource.com/919159
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Mohammad Refaat <mrefaat@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540099}
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/BUILD.gn
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/aw_cookie_change_dispatcher_wrapper.cc
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/aw_cookie_change_dispatcher_wrapper.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/aw_cookie_store_wrapper.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/aw_cookie_store_wrapper.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/init_native_callback.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/android_webview/browser/net/init_native_callback.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/content_settings/tab_specific_content_settings.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/content_settings/tab_specific_content_settings.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/content_settings/tab_specific_content_settings_unittest.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/signin/chrome_signin_client.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/signin/chrome_signin_client.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/chrome/browser/ui/content_settings/content_setting_image_model_unittest.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/BUILD.gn
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/gaia_cookie_manager_service.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/gaia_cookie_manager_service.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/signin_client.h
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/signin_cookie_change_subscription.cc
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/signin_cookie_change_subscription.h
[delete] https://crrev.com/a86185d8cfa79bc08c7484b83447de6c172688e6/components/signin/core/browser/signin_cookie_changed_subscription.cc
[delete] https://crrev.com/a86185d8cfa79bc08c7484b83447de6c172688e6/components/signin/core/browser/signin_cookie_changed_subscription.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/test_signin_client.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/core/browser/test_signin_client.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/ios/browser/account_consistency_service.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/components/signin/ios/browser/account_consistency_service_unittest.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/chrome/browser/signin/ios_chrome_signin_client.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/chrome/browser/signin/ios_chrome_signin_client.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios_test_util.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios_test_util.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/web_view/internal/signin/ios_web_view_signin_client.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/ios/web_view/internal/signin/ios_web_view_signin_client.mm
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/BUILD.gn
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_change_dispatcher.cc
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_change_dispatcher.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_monster.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_monster.h
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_monster_change_dispatcher.cc
[add] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_monster_change_dispatcher.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_monster_unittest.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_store.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_store.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_store_change_unittest.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_store_test_helpers.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/net/cookies/cookie_store_test_helpers.h
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/services/network/cookie_manager.cc
[modify] https://crrev.com/14f47c129185c7827ff41d728bafb9848d726cf8/services/network/cookie_manager.h

Project Member

Comment 29 by bugdroid1@chromium.org, Mar 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ed602f5360e342e23201247f87cdcbab7368e7c7

commit ed602f5360e342e23201247f87cdcbab7368e7c7
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Mar 01 22:48:53 2018

Cookie Store: Expand CookieChangeDispatcher's unit tests.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I57c1ec0fbb6ec96164376d63c3cb5cfc30b5a610
Reviewed-on: https://chromium-review.googlesource.com/943402
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540323}
[modify] https://crrev.com/ed602f5360e342e23201247f87cdcbab7368e7c7/android_webview/browser/net/aw_cookie_store_wrapper_unittest.cc
[modify] https://crrev.com/ed602f5360e342e23201247f87cdcbab7368e7c7/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/ed602f5360e342e23201247f87cdcbab7368e7c7/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/ed602f5360e342e23201247f87cdcbab7368e7c7/net/cookies/cookie_monster_unittest.cc
[modify] https://crrev.com/ed602f5360e342e23201247f87cdcbab7368e7c7/net/cookies/cookie_store_change_unittest.h

Project Member

Comment 30 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a189167cb95cc86a19d6e20e72a439307359aac

commit 2a189167cb95cc86a19d6e20e72a439307359aac
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Mar 02 06:01:53 2018

Cookie Store: Rewrite CookieMonster's notification dispatch.

The old implementation was designed to support a small, static number of
observers. The new implementation supports the churn (adding/removing
observers) that will come from exposing cookie change observation to Web
APIs.

The new implementation also adds AddCallbackForUrl(), which is in
between AddCallbackForAllChanges (no filter) and AddCallbackForCookie
(very specific filter). The new method will be used by the Async Cookies
API implementation.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Idc58252ede82be82b34c530607e811d5392801cd
Reviewed-on: https://chromium-review.googlesource.com/934304
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540460}
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/android_webview/browser/net/aw_cookie_change_dispatcher_wrapper.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/android_webview/browser/net/aw_cookie_change_dispatcher_wrapper.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/android_webview/browser/net/aw_cookie_store_wrapper_unittest.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/ios/net/cookies/cookie_store_ios.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/ios/net/cookies/cookie_store_ios.mm
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_change_dispatcher.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_monster_change_dispatcher.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_monster_change_dispatcher.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_monster_unittest.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_store_change_unittest.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_store_test_helpers.cc
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_store_test_helpers.h
[modify] https://crrev.com/2a189167cb95cc86a19d6e20e72a439307359aac/net/cookies/cookie_store_unittest.h

Project Member

Comment 31 by bugdroid1@chromium.org, Mar 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea536c8e259d320d142d3bb7113705298737c3ec

commit ea536c8e259d320d142d3bb7113705298737c3ec
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Mar 14 09:42:33 2018

Async Cookies API: Change events for documents.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ic81f291fd9ea34647f0260d4d4dd88f3c90504d0
Reviewed-on: https://chromium-review.googlesource.com/881586
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543042}
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/services/network/public/mojom/restricted_cookie_manager.mojom
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/services/network/restricted_cookie_manager.cc
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/services/network/restricted_cookie_manager.h
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/services/network/restricted_cookie_manager_unittest.cc
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_event_arguments.tenative.window.js
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_event_basic.tentative.window.js
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_event_delete.tenative.window.js
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_event_overwrite.tentative.window.js
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness.tentative.html
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness_serviceworker.js
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/bindings/modules/BUILD.gn
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/BUILD.gn
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieChangeEvent.cpp
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieChangeEvent.h
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieChangeEvent.idl
[add] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieChangeEventInit.idl
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieStore.cpp
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieStore.h
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/CookieStore.idl
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/cookie_store/DEPS
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/event_target_modules_names.json5
[modify] https://crrev.com/ea536c8e259d320d142d3bb7113705298737c3ec/third_party/WebKit/Source/modules/modules_idl_files.gni

Project Member

Comment 32 by bugdroid1@chromium.org, Mar 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1dcd6759161d5b2b897c49d42978f9e8c301eb31

commit 1dcd6759161d5b2b897c49d42978f9e8c301eb31
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Mar 16 12:31:36 2018

Cookie Store: Enable some change tests for CookieStoreIOS.

The iOS CookieStore implementations synchronize (to some degree) a
CookieMonster with the system cookie store. Change detection is
implemented by storing a snapshot of the system cookie store's last seen
contents, and computing diffs between the current system store contents
and the snapshot. This implementation has two major differences from the
CookieMonsterChangeDispatcher implementation:

1) The ordering of changes observed between two snapshots cannot be known.
   However, the CookieStore tests expect changes to be observed in the
   exact order in which the corresponding commands were issued.
2) The current diffing implementation does not distinguish between
   deletion causes. The tests rely on a distinction between OVERWRITE
   and EXPLICIT.

This CL introduces CookieStoreTestTraits members that account for the
differences above, making it possible to run the change tests against
the CookieStoreIOS implementation. CookieStoreIOSPersistent requires
significant changes to pass the tests, so it will be addressed in a
separate CL.

Bug: 729800, 813931
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ib959c4a2d05ef84ab154290ee91f975436a7ee64
Reviewed-on: https://chromium-review.googlesource.com/947844
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543673}
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/android_webview/browser/net/aw_cookie_store_wrapper_unittest.cc
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/ios/net/cookies/cookie_store_ios_persistent_unittest.mm
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/ios/net/cookies/cookie_store_ios_unittest.mm
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/BUILD.gn
[add] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/cookies/cookie_change_dispatcher_test_helpers.cc
[add] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/cookies/cookie_change_dispatcher_test_helpers.h
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/cookies/cookie_monster_unittest.cc
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/cookies/cookie_store_change_unittest.h
[modify] https://crrev.com/1dcd6759161d5b2b897c49d42978f9e8c301eb31/net/cookies/cookie_store_unittest.h

Project Member

Comment 33 by bugdroid1@chromium.org, Apr 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae

commit ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae
Author: Victor Costan <pwnall@chromium.org>
Date: Mon Apr 02 17:56:13 2018

ServiceWorker: Switch some Callback instances to OnceCallback.

Bug: 729800
Change-Id: Iccda36930b708927e5200d1d17740165a5e52346
Reviewed-on: https://chromium-review.googlesource.com/989841
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547464}
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_job_coordinator.cc
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_job_coordinator.h
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_unregister_job.cc
[modify] https://crrev.com/ae9c0c6a916b1ac32ce977ec3a2b69b771a505ae/content/browser/service_worker/service_worker_unregister_job.h

Project Member

Comment 34 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f60afee825072a17d61ed9fa73a094761a386bbc

commit f60afee825072a17d61ed9fa73a094761a386bbc
Author: Joshua Bell <jsbell@chromium.org>
Date: Thu Apr 05 21:36:23 2018

Cookie Store: Consolidate WPT coverage for special prefixed cookies

Merge two sets of tests that cover __Secure- and __Host- prefixed
cookies in the API. Tests cover secure and non-secure contexts,
getting, setting, deleting, and setting already-expired cookies.

Bug: 729800
Change-Id: Ie7e84eeda03ba8192f5062cbf5240ff8ab13816a
Reviewed-on: https://chromium-review.googlesource.com/994174
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548562}
[modify] https://crrev.com/f60afee825072a17d61ed9fa73a094761a386bbc/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_special_names.tentative.html
[add] https://crrev.com/f60afee825072a17d61ed9fa73a094761a386bbc/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_special_names.tentative.https.html
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/one_simple_origin_cookie.tentative.html
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/one_simple_origin_cookie.tentative.https.html
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/one_simple_origin_cookie.js
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/secure_cookies.js
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/secure_cookies.tentative.html
[delete] https://crrev.com/9e79cf0ca820c9c83af104df0555550e86ce0048/third_party/WebKit/LayoutTests/external/wpt/cookie-store/secure_cookies.tentative.https.html

Project Member

Comment 35 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/898306dfe0e7e1fef362a35c0b10a9c3df16a86f

commit 898306dfe0e7e1fef362a35c0b10a9c3df16a86f
Author: Joshua Bell <jsbell@chromium.org>
Date: Thu Apr 05 21:36:39 2018

Cookie Store: disallow '=' in cookies with empty names

Per the explainer[1] and tests: "Cookies with an empty name cannot be
set using values containing = as this would result in ambiguous
serializations in the majority of current browsers."

Also, fix a test glitch now that this restriction is implemented.

[1] https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md

Bug: 729800
Change-Id: I9ed02885c217cbdb4c86d8fd236d49c6c56b6e96
Reviewed-on: https://chromium-review.googlesource.com/994145
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548563}
[delete] https://crrev.com/f60afee825072a17d61ed9fa73a094761a386bbc/third_party/WebKit/LayoutTests/external/wpt/cookie-store/no_name_equals_in_value.tentative-expected.txt
[delete] https://crrev.com/f60afee825072a17d61ed9fa73a094761a386bbc/third_party/WebKit/LayoutTests/external/wpt/cookie-store/no_name_equals_in_value.tentative.https-expected.txt
[modify] https://crrev.com/898306dfe0e7e1fef362a35c0b10a9c3df16a86f/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/no_name_equals_in_value.js
[modify] https://crrev.com/898306dfe0e7e1fef362a35c0b10a9c3df16a86f/third_party/WebKit/Source/modules/cookie_store/CookieStore.cpp

Blockedon: 829761
Project Member

Comment 37 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f53a1546fe51f3f81badcbc71ddb291a01140287

commit f53a1546fe51f3f81badcbc71ddb291a01140287
Author: Joshua Bell <jsbell@chromium.org>
Date: Fri Apr 06 16:54:11 2018

Cookie Store: rework tests for 'expires' option

Simplify/rework the tests for the 'expires' options. Don't run the
tests with the special secure-only prefixes, as that's orthogonal to
the behvior.

In Chromium, this also reveals that support for HTTP date strings as
'expires' values, as described in the explainer[1] is not yet
supported.

[1] https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md

Bug: 729800
Change-Id: I015fd643f18b59c8294f9dc62d576682132795fd
Reviewed-on: https://chromium-review.googlesource.com/994284
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548818}
[add] https://crrev.com/f53a1546fe51f3f81badcbc71ddb291a01140287/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_set_expires_option.tentative.window-expected.txt
[add] https://crrev.com/f53a1546fe51f3f81badcbc71ddb291a01140287/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_set_expires_option.tentative.window.js
[delete] https://crrev.com/842a1a863dac195c64e7bf999b9a1831efb5a509/third_party/WebKit/LayoutTests/external/wpt/cookie-store/expiration.tentative.html
[delete] https://crrev.com/842a1a863dac195c64e7bf999b9a1831efb5a509/third_party/WebKit/LayoutTests/external/wpt/cookie-store/expiration.tentative.https.html
[delete] https://crrev.com/842a1a863dac195c64e7bf999b9a1831efb5a509/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/expiration.js

Project Member

Comment 38 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09b0b1b2226c0835be3ec282bb7dbcb24e1bd092

commit 09b0b1b2226c0835be3ec282bb7dbcb24e1bd092
Author: Victor Costan <pwnall@chromium.org>
Date: Tue Apr 10 17:11:41 2018

Add move constructor to LinkNode.

This makes it possible to use LinkNode subclasses with base::Optional.

Bug: 729800
Change-Id: If2f3814879ec252ea0723f5ad1070d5917445e34
Reviewed-on: https://chromium-review.googlesource.com/1005022
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549565}
[modify] https://crrev.com/09b0b1b2226c0835be3ec282bb7dbcb24e1bd092/base/containers/linked_list.h
[modify] https://crrev.com/09b0b1b2226c0835be3ec282bb7dbcb24e1bd092/base/containers/linked_list_unittest.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Apr 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d66a9feea5d8fe6c1320ad62006cca97c355e0f0

commit d66a9feea5d8fe6c1320ad62006cca97c355e0f0
Author: Joshua Bell <jsbell@chromium.org>
Date: Mon Apr 30 22:33:09 2018

Cookie Store: Rework tests, remove duplicates

* Pull HTTPONLY- cookie tests into a separate file.
* Consolidate CookieStore/HTTP interop tests into one file.
* Make CookieStore/HTTP interop tests verify overwrites too.
* Delete unused test helper functions.
* Remove redundant deletion test with no asserts.
* Add basic deletion test that verifies method return type.

Bug: 729800
Change-Id: Ia0e97ffdb2d2adf7c6fb46c9cd06f285dfa8eb79
Reviewed-on: https://chromium-review.googlesource.com/1033715
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554904}
[add] https://crrev.com/d66a9feea5d8fe6c1320ad62006cca97c355e0f0/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_delete_basic.tentative.window.js
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/delete_cookies.tentative.html
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/delete_cookies.tentative.https.html
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/get_set_get_all.tentative.html
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/get_set_get_all.tentative.https.html
[add] https://crrev.com/d66a9feea5d8fe6c1320ad62006cca97c355e0f0/third_party/WebKit/LayoutTests/external/wpt/cookie-store/httponly_cookies.window.js
[modify] https://crrev.com/d66a9feea5d8fe6c1320ad62006cca97c355e0f0/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/cookie-test-helpers.js
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/delete_cookies.js
[delete] https://crrev.com/547e0bd209f9496e4f794cd139b8fc22f00e8cfa/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/get_set_get_all.js
[modify] https://crrev.com/d66a9feea5d8fe6c1320ad62006cca97c355e0f0/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/http_cookie_and_set_cookie_headers.js

Project Member

Comment 40 by bugdroid1@chromium.org, May 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9

commit 9041a0fef0e6730cc61b0c0b0a2db57a23878fe9
Author: Joshua Bell <jsbell@chromium.org>
Date: Tue May 01 00:24:29 2018

Cookie Store: Move non-ASCII codepoint test cases to dedicated tests

Cookie handling of non-ASCII codepoints is not consistent across
browsers, so we definitely want tests that exercise these. To make
potential failures here more obvious, make sure that there are
dedicated test cases for non-ASCII interop with other ways of
getting/setting cookies (HTTP headers, document.cookie).

Also, make the document.cookie interop tests symmetric:
set/overwrite/delete by CookieStore observed by document.cookie and
vice versa.

Bug: 729800
Change-Id: I637401e5f8021a2915ba186fbb1cf7a50e940905
Reviewed-on: https://chromium-review.googlesource.com/1036306
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554936}
[modify] https://crrev.com/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9/third_party/WebKit/LayoutTests/external/wpt/cookie-store/httponly_cookies.window.js
[modify] https://crrev.com/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/cookie-test-helpers.js
[modify] https://crrev.com/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/document_cookie.js
[modify] https://crrev.com/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/http_cookie_and_set_cookie_headers.js
[modify] https://crrev.com/9041a0fef0e6730cc61b0c0b0a2db57a23878fe9/third_party/WebKit/LayoutTests/external/wpt/cookie-store/resources/ordering.js

Project Member

Comment 41 by bugdroid1@chromium.org, May 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4daa1195ef9ae96b9ffb20c0126ba011913cc737

commit 4daa1195ef9ae96b9ffb20c0126ba011913cc737
Author: Victor Costan <pwnall@chromium.org>
Date: Wed May 02 21:22:00 2018

ServiceWorker: Rename OnRegistrationStored -> OnRegistrationCompleted.

For historical reasons, OnRegistrationStored() is called when the
promise returned by ServiceWorkerContainer.register() is resolved, which
happens before the registration is written to disk. This means
OnRegistrationStored() implementations cannot assume that
ServiceWorkerContextCore will be able to retrieve the registration.

This CL renames the method to a more appropriate name. A follow-up CL
will add an OnRegistrationStored() method, which will be called when the
registration is written to the database.

TBR=benwells

Bug: 729800
Change-Id: If273b3008ff55e4d5cd8f5be9e0e6090da2e5390
Reviewed-on: https://chromium-review.googlesource.com/1039083
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555550}
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/chrome/browser/installable/installable_manager.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/chrome/browser/installable/installable_manager.h
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/resources/service_worker/serviceworker_internals.js
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_core_observer.h
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_watcher.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_watcher.h
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/browser/service_worker/service_worker_internals_ui.cc
[modify] https://crrev.com/4daa1195ef9ae96b9ffb20c0126ba011913cc737/content/public/browser/service_worker_context_observer.h

Project Member

Comment 42 by bugdroid1@chromium.org, May 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b8fbad74ee4e827cc74a54f37de3ad5960abada3

commit b8fbad74ee4e827cc74a54f37de3ad5960abada3
Author: Victor Costan <pwnall@chromium.org>
Date: Mon May 07 05:32:04 2018

ServiceWorker: ServiceWorkerContextCoreObserver::OnRegistrationStored.

OnRegistrationStored is guaranteed to be called after a
ServiceWorkerRegistration has been persisted to ServiceWorkerStorage, so
observers can assume that methods like ServiceWorkerStorage::GetUserData
will find the registration.

Bug: 729800
Change-Id: I35181050b2f35a3b82c4f8e5a22383905b9bc482
Reviewed-on: https://chromium-review.googlesource.com/1043064
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556380}
[modify] https://crrev.com/b8fbad74ee4e827cc74a54f37de3ad5960abada3/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/b8fbad74ee4e827cc74a54f37de3ad5960abada3/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/b8fbad74ee4e827cc74a54f37de3ad5960abada3/content/browser/service_worker/service_worker_context_core_observer.h
[modify] https://crrev.com/b8fbad74ee4e827cc74a54f37de3ad5960abada3/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/b8fbad74ee4e827cc74a54f37de3ad5960abada3/content/browser/service_worker/service_worker_storage.cc

Comment 43 by cos...@gmail.com, May 15 2018

Blockedon: 843079
Project Member

Comment 44 by bugdroid1@chromium.org, May 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7184272ae9d627d338b89a5bdd3a1e496123a190

commit 7184272ae9d627d338b89a5bdd3a1e496123a190
Author: Victor Costan <pwnall@chromium.org>
Date: Tue May 15 13:17:43 2018

Async Cookies: Change events in service workers.

While installing, a service worker may call
cookieStore.subscribeToChanges() to express interest in observing the
changes to the list of cookies sent in a request to a specific URL.
After the service worker becomes active, it is notified of changes to
the cookies it is interested in via  "cookiechange" events, which are
dispatched to the service worker's global scope.

This CL lays the last piece in the foundation of the Async Cookies API,
which is currently gated by the Experimental Web Platform Features flag.
This CL focuses on the core functionality and plumbing. Follow-up CLs
will add more tests, fix the handling of edge cases, and improve
performance.

Bug: 729800
Change-Id: I52f2e550d7901d746ed1a973426d3181ea091147
Reviewed-on: https://chromium-review.googlesource.com/979334
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558682}
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/BUILD.gn
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/DEPS
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/BUILD.gn
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/OWNERS
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_change_subscription.cc
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_change_subscription.h
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_change_subscriptions.proto
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_context.cc
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_context.h
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_host.cc
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_host.h
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_manager.cc
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_manager.h
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/cookie_store/cookie_store_manager_unittest.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/service_worker/service_worker_metrics.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/storage_partition_impl.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/browser/storage_partition_impl_map.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/content/test/BUILD.gn
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness.tentative.html
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/idlharness_serviceworker.js
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions.js
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/public/mojom/BUILD.gn
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/public/mojom/cookie_store/OWNERS
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/public/mojom/cookie_store/cookie_store.mojom
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/public/web/modules/serviceworker/web_service_worker_context_client.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/public/web/modules/serviceworker/web_service_worker_context_proxy.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/bindings/modules/BUILD.gn
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/core/events/event_type_names.json5
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/BUILD.gn
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/OWNERS
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/cookie_change_event.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/cookie_change_event.idl
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/cookie_store.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.cc
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.h
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.idl
[add] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event_init.idl
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/cookie_store/service_worker_global_scope_cookie_store.idl
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/DEPS
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_client.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_client.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_proxy.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_proxy.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/wait_until_observer.cc
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/third_party/blink/renderer/modules/serviceworkers/wait_until_observer.h
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/7184272ae9d627d338b89a5bdd3a1e496123a190/tools/metrics/histograms/histograms.xml

Project Member

Comment 45 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31bf6b4501d1f0df15c246a66b35d9c723636440

commit 31bf6b4501d1f0df15c246a66b35d9c723636440
Author: Victor Costan <pwnall@chromium.org>
Date: Wed May 16 16:48:43 2018

Async Cookies: Add UMA counters for the API.

cookieStore methods receive individual UMA counters. The getters for
CookieChangeEvent and ExtendableCookieChangeEvent also receive UMA
counters, mostly so that we can count apps that call
subscribeToChanges() when a service worker installs, and then consume
the 'cookiechange' events, without calling another cookieStore method
ever again.

TBR=kinuko

Bug: 729800
Change-Id: I0c2aa37700cb6af7e1dc16b695e40dbffb33688f
Reviewed-on: https://chromium-review.googlesource.com/1060624
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559141}
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/third_party/blink/public/platform/web_feature.mojom
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/third_party/blink/renderer/modules/cookie_store/cookie_change_event.idl
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/third_party/blink/renderer/modules/cookie_store/cookie_change_event_init.idl
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.idl
[modify] https://crrev.com/31bf6b4501d1f0df15c246a66b35d9c723636440/tools/metrics/histograms/enums.xml

Blockedon: 848062
@pwnall: In comment#30 you added the CookieMonsterChangeDispatcher::Subscription class which keeps a |base::WeakPtr<CookieMonsterChangeDispatcher> change_dispatcher_|. You then dereference this WeakPtr in the destructor without first checking that it's non-nullptr:

CookieMonsterChangeDispatcher::Subscription::~Subscription() {
  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
	
  change_dispatcher_->UnlinkSubscription(this);
}

I have some unit tests in my Content API-based application which are crashing during shutdown because |change_dispatcher_| is nullptr at this location. What is the expected behavior with regards to |change_dispatcher_| validity in the destructor?

Thanks.

Comment 49 Deleted

@comment#48: I should mention that it began crashing for me between versions 68.0.3433.0 (#559327) and 68.0.3440.0 (#561733), so likely something else has changed w.r.t. CookieMonster or related lifespan to expose this crash.
Project Member

Comment 51 by bugdroid1@chromium.org, Jun 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe70d14cbee0ffc0c82658e1bc6469e2f567c266

commit fe70d14cbee0ffc0c82658e1bc6469e2f567c266
Author: Victor Costan <pwnall@chromium.org>
Date: Mon Jun 04 22:31:38 2018

Async Cookies: Security checks for RestrictedCookieManager.

RestrictedCookieManager becomes scoped to an origin, and rejects
operations on cookies which aren't accessible to that origin.
RestrictedCookieManager instances are passed to (untrusted) renderer
processes from the browser's RendererInterfaceBinders, which knows which
origins are accessible to each renderer.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I638b0a93cac36cd1b3b4f1bf2f767f1810b11003
Reviewed-on: https://chromium-review.googlesource.com/1069652
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564272}
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/BUILD.gn
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/network_context.cc
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/network_context.h
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/public/mojom/network_context.mojom
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/public/mojom/restricted_cookie_manager.mojom
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/restricted_cookie_manager.cc
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/restricted_cookie_manager.h
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/restricted_cookie_manager_unittest.cc
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/services/network/test/test_network_context.h
[modify] https://crrev.com/fe70d14cbee0ffc0c82658e1bc6469e2f567c266/third_party/blink/renderer/modules/cookie_store/cookie_store.cc

Project Member

Comment 52 by bugdroid1@chromium.org, Jun 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cbcc810b60ce156167692963eeee43285dc1094

commit 9cbcc810b60ce156167692963eeee43285dc1094
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jun 06 17:57:33 2018

Network Service: Make CanonicalCookie times non-nullable.

base::Time already has a null value, so adding mojo's nullable type
support on top of base::Time is more confusing than useful.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I6016a46b48b4efc4e9b584bc5c3062849dab60a0
Reviewed-on: https://chromium-review.googlesource.com/1087539
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564962}
[modify] https://crrev.com/9cbcc810b60ce156167692963eeee43285dc1094/services/network/public/cpp/cookie_manager_mojom_traits.cc
[modify] https://crrev.com/9cbcc810b60ce156167692963eeee43285dc1094/services/network/public/cpp/cookie_manager_mojom_traits.h
[modify] https://crrev.com/9cbcc810b60ce156167692963eeee43285dc1094/services/network/public/mojom/cookie_manager.mojom
[modify] https://crrev.com/9cbcc810b60ce156167692963eeee43285dc1094/third_party/blink/renderer/modules/cookie_store/cookie_store.cc

Project Member

Comment 53 by bugdroid1@chromium.org, Jun 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/631e39db36c1b6c645d952f6d869876fcd2718ea

commit 631e39db36c1b6c645d952f6d869876fcd2718ea
Author: Victor Costan <pwnall@chromium.org>
Date: Tue Jun 12 21:53:52 2018

Introduce blink::WebCanonicalCookie

Add a blink analogue for net::CanonicalCookie. This is initially
used by the CookieStore. Once the RestrictedCookieManager is ready,
Document cookie/setCookie can be changed to it directly instead of
a parallel pipeline to the browser with redundant security checks.
A mojo type mapping is introduced. net::CanonicalCookie is not used
directly due to std::string vs. WTF::String uncertainty, but we may
revisit this in the future.

Bug: 729800
Change-Id: I1492379bee98d44f13470e32da794616b905260b
Reviewed-on: https://chromium-review.googlesource.com/1062599
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566588}
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/public/platform/DEPS
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/public/platform/web_canonical_cookie.h
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/modules/cookie_store/cookie_store.h
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/BUILD.gn
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/exported/DEPS
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/exported/web_canonical_cookie.cc
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/exported/web_canonical_cookie_test.cc
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/mojo/DEPS
[modify] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/mojo/blink_typemaps.gni
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/mojo/canonical_cookie.typemap
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/mojo/canonical_cookie_mojom_traits.cc
[add] https://crrev.com/631e39db36c1b6c645d952f6d869876fcd2718ea/third_party/blink/renderer/platform/mojo/canonical_cookie_mojom_traits.h

Blockedon: 852659
Project Member

Comment 55 by bugdroid1@chromium.org, Jun 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b44d4f8f14dc0f94364c0378d9d9cf252f62e3f

commit 8b44d4f8f14dc0f94364c0378d9d9cf252f62e3f
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jun 20 03:01:25 2018

Async Cookies: Test that HttpOnly cookie changes are not dispatched to SW.

Bug: 729800
Change-Id: I194f3f4b86794236cc90fbc8614b1da680c8aaa6
Reviewed-on: https://chromium-review.googlesource.com/1107315
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568707}
[modify] https://crrev.com/8b44d4f8f14dc0f94364c0378d9d9cf252f62e3f/content/browser/cookie_store/cookie_store_manager_unittest.cc

Project Member

Comment 56 by bugdroid1@chromium.org, Jun 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d3c444f82760a297f4ba8cec922eaf22b651529

commit 4d3c444f82760a297f4ba8cec922eaf22b651529
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jun 20 20:19:25 2018

Async Cookies: Expose additional cookie attributes.

This CL exposes the following attributes in CookieListItem members
returned by cookieStore.get() and cookieStore.getAll(), and contained in
cookie change events.

* expires: "expiry-time" attribute
* domain: "domain" attribute, or null for host-only cookies
* path: "path" attribute
* secure: "secure-only-flag" attribute

The "same-site-flag" attribute will be exposed in a future CL that will
also add support for setting it.

The following attributes are not exposed intentionally.

* "creation-time", "last-access-time": no clear use case
* "persistent-flag": exposed implicitly as a null expiration time
* "host-only-flag": exposed implicitly as a null domain
* "http-only-flag": would always be false

This CL also fully implements setting a cookie's domain attribute, and
updates the relevant WPT tests.

CookieListItem is covered by the API explainer:
https://wicg.github.io/cookie-store/explainer.html

Cookie attributes are described in the cookie storage model:
https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02#section-5.4


Bug: 729800
Change-Id: I8061f20d348b53ba8d0dabbd4b97564f6c3b4217
Reviewed-on: https://chromium-review.googlesource.com/1102339
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568972}
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/content/renderer/service_worker/service_worker_context_client_unittest.cc
[add] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieListItem_attributes.tentative.window.js
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_delete_arguments.tentative.window.js
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_set_arguments.tentative.window.js
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/public/web/modules/serviceworker/web_service_worker_context_proxy.h
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/cookie_change_event.h
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.cc
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.h
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_proxy.cc
[modify] https://crrev.com/4d3c444f82760a297f4ba8cec922eaf22b651529/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope_proxy.h

Project Member

Comment 57 by bugdroid1@chromium.org, Jun 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036

commit aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036
Author: Staphany Park <stapark008@gmail.com>
Date: Sun Jun 24 14:13:48 2018

Async Cookies: More service worker subscription tests.

Bug: 729800
Change-Id: Ie216054a92e223c29120226b645b2c10b208dde0
Reviewed-on: https://chromium-review.googlesource.com/1073080
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569930}
[modify] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/AUTHORS
[modify] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
[add] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
[add] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html
[add] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js
[add] https://crrev.com/aefdf3f3cabe898d8bb12b39fd8dc9f6ace76036/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html

Project Member

Comment 58 by bugdroid1@chromium.org, Jun 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83e8d1a9dcc9e5e45a0a643f690184e1b31af325

commit 83e8d1a9dcc9e5e45a0a643f690184e1b31af325
Author: Victor Costan <pwnall@chromium.org>
Date: Mon Jun 25 20:27:50 2018

Async Cookies: Address feedback from spec repository.

This CL integrates the following issues:

https://github.com/WICG/cookie-store/issues/54 - startsWith -> starts-with
https://github.com/WICG/cookie-store/issues/51 - remove cookieStore.has

Bug: 729800
Change-Id: If296a9e1eb896cb0ef344a889b1715836610bc6d
Reviewed-on: https://chromium-review.googlesource.com/1112912
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570157}
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_getAll_arguments.tentative.window.js
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_arguments.tentative.window.js
[delete] https://crrev.com/98cf9db6f3c35b814e26ae9eb34564209397d86d/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_has_arguments.tentative.window.js
[delete] https://crrev.com/98cf9db6f3c35b814e26ae9eb34564209397d86d/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_has_basic.tentative.window.js
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_special_names.tentative.html
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_arguments.js
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_basic.js
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions.js
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/blink/renderer/modules/cookie_store/cookie_store.h
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
[modify] https://crrev.com/83e8d1a9dcc9e5e45a0a643f690184e1b31af325/third_party/blink/renderer/modules/cookie_store/cookie_store_get_options.idl

Blockedon: 856362
Blocking: 856364
Project Member

Comment 61 by bugdroid1@chromium.org, Jun 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c52b093d53d6220e63f157d82fb61d09a1872a7b

commit c52b093d53d6220e63f157d82fb61d09a1872a7b
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Jun 28 00:27:28 2018

Async Cookies: Implement sameSite attribute.

This CL modifies RestrictedCookieManager to allow renderers to set the
SameSite and Priority CanonicalCookie attributes. Renderers must be
allowed to set the SameSite and Priority attributes so that
RestrictedCookieManager can be used to implement the document.cookie
setter.

Bug:  856364 , 729800
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: Ic0a520bc6c02c259ef22175c9eb161086fa18782
Reviewed-on: https://chromium-review.googlesource.com/1115586
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570976}
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/services/network/restricted_cookie_manager.cc
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieListItem_attributes.tentative.https.window.js
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/c52b093d53d6220e63f157d82fb61d09a1872a7b/third_party/blink/renderer/modules/cookie_store/cookie_store_set_options.idl

Project Member

Comment 62 by bugdroid1@chromium.org, Jun 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a31b7144f9df71708ba9a75627fbf455ee8c0163

commit a31b7144f9df71708ba9a75627fbf455ee8c0163
Author: Victor Costan <pwnall@chromium.org>
Date: Sat Jun 30 01:42:01 2018

Async Cookies: Update Cookie Store API to match spec.

This CL changes the signatures of cookieStore.{get,getAll,set,delete}
and introduces the CookieStoreDeleteOptions and
CookieStoreSetExtraOptions dictionary. The CL also updates the
CookieListItem dictionary.

TBR=haraken

Bug: 729800
Change-Id: Iaa62b5a51cc79b19cb567be30a2f0dda54e326d8
Reviewed-on: https://chromium-review.googlesource.com/1117868
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571736}
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieListItem_attributes.tentative.https.window.js
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_delete_arguments.tentative.https.window.js
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_getAll_arguments.tentative.https.window.js
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_arguments.tentative.https.window.js
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_set_arguments.tentative.https.window.js
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store.h
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
[add] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
[add] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store_set_extra_options.idl
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/cookie_store/cookie_store_set_options.idl
[modify] https://crrev.com/a31b7144f9df71708ba9a75627fbf455ee8c0163/third_party/blink/renderer/modules/modules_idl_files.gni

Project Member

Comment 63 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/894769b032ee77d419b1933de63d7a8346ac1c61

commit 894769b032ee77d419b1933de63d7a8346ac1c61
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jul 04 00:09:48 2018

Async Cookies: Expose oncookiechange on ServiceWorkerGlobalScope.

cookiechange events have been dispatched to ServiceWorkerGlobalScope
since https://crrev.com/c/979334 landed, and can be observed using
addEventListener, as shown by the WPT test at
cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html

This CL adds the oncookiechange attribute to ServiceWorkerGlobalScope,
allowing the event to be handled by a DOM0-style event handler.

Bug: 729800
Change-Id: Ic27979d94934abf833c116787cdad5243422324b
Reviewed-on: https://chromium-review.googlesource.com/1123766
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572400}
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions.js
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/BUILD.gn
[delete] https://crrev.com/a5adc4ec6539ec4f94986f0a0ba13108eaa218e3/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc
[delete] https://crrev.com/a5adc4ec6539ec4f94986f0a0ba13108eaa218e3/third_party/blink/renderer/modules/cookie_store/global_cookie_store.h
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/global_cookie_store_impl.h
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/service_worker_global_scope_cookie_store.cc
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/service_worker_global_scope_cookie_store.h
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/service_worker_global_scope_cookie_store.idl
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/window_cookie_store.cc
[add] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/window_cookie_store.h
[modify] https://crrev.com/894769b032ee77d419b1933de63d7a8346ac1c61/third_party/blink/renderer/modules/cookie_store/window_cookie_store.idl

Project Member

Comment 64 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63a8a015649101a0ffe5998f9da33ce427cb73ac

commit 63a8a015649101a0ffe5998f9da33ce427cb73ac
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jul 04 01:43:39 2018

Async Cookies: Enable in Origin Trials as CookieStore.

Intent to experiment:
https://groups.google.com/a/chromium.org/d/topic/blink-dev/pdxkBoURmaA/discussion

Notification on experimentation-dev:
https://groups.google.com/a/chromium.org/d/topic/experimentation-dev/xwL0PmF3rq4/discussion

Bug: 729800
Change-Id: I88aa295f164c68b0700713a143821300724d081f
Reviewed-on: https://chromium-review.googlesource.com/1123411
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Jason Chase <chasej@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572440}
[add] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/cookiestore-origin-trial-interfaces.html
[add] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/resources/cookiestore-origin-trial-interfaces-serviceworker-disabled.js
[add] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/resources/cookiestore-origin-trial-interfaces-serviceworker-enabled.php
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/modules/cookie_store/cookie_change_event.idl
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.idl
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/modules/cookie_store/service_worker_global_scope_cookie_store.idl
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/modules/cookie_store/window_cookie_store.idl
[modify] https://crrev.com/63a8a015649101a0ffe5998f9da33ce427cb73ac/third_party/blink/renderer/platform/runtime_enabled_features.json5

Blocking: -856364
Blockedon: 856364
Project Member

Comment 67 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4

commit a96d9aeea4f6fff615e6d41fb0169784f7f8cce4
Author: Victor Costan <pwnall@chromium.org>
Date: Thu Jul 19 21:59:20 2018

Async Cookies: Add UseCounter for entire API surface.

For the purposes of the Origin Trial, it is preferable to have a single
feature use counter cover the whole API.

We also want to understand the usage of each API part, so this CL adds a
CookieStoreAPI UseCounter that is updated by every API entry point,
while maintaining per-method UseCounters. The event accessors
({ExtendableCookieChangeEvent, CookieChangeEvent}.{changed, deleted})
did lose their individual counters, because having them counted under 2
counters would require custom V8 bindings, and the complexity isn't woth
it.

Bug: 729800
Change-Id: Ica133c9213afa64805a90512c0f89cfda66281f0
Reviewed-on: https://chromium-review.googlesource.com/1144244
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576651}
[modify] https://crrev.com/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4/third_party/blink/public/platform/web_feature.mojom
[modify] https://crrev.com/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4/third_party/blink/renderer/modules/cookie_store/cookie_change_event.idl
[modify] https://crrev.com/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4/third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.idl
[modify] https://crrev.com/a96d9aeea4f6fff615e6d41fb0169784f7f8cce4/tools/metrics/histograms/enums.xml

Blockedon: 852018
Project Member

Comment 69 by bugdroid1@chromium.org, Jul 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8545f68f204a1a31b7b6c0bd6c320ba24e41ad8d

commit 8545f68f204a1a31b7b6c0bd6c320ba24e41ad8d
Author: Joshua Bell <jsbell@chromium.org>
Date: Thu Jul 26 19:24:43 2018

Cookie Store API: Remove unneeded delete() options

The 'secure' and 'sameSite' options were included for delete() calls
for symmetry with set(). Although they are used internally as inputs
into the cookie deletion process (which is a set with an expiry time
in the past) they do not have an observable effect as they are not
part of the "key" for cookies in the jar.

Remove 'em from the script-facing API, and just pass defaults through.

If passed, the options will be ignored, so this will have no affect on
code using the API unless the code is trying to specifically probe
option parsing.

GitHub issue: https://github.com/WICG/cookie-store/issues/77
GitHub PR: https://github.com/WICG/cookie-store/pull/81

Bug: 729800
Change-Id: I847293f5274abcb6335140f7f1bf4e2f6f2f8bcf
Reviewed-on: https://chromium-review.googlesource.com/1151723
Reviewed-by: Chase Phillips <cmp@chromium.org>
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578400}
[modify] https://crrev.com/8545f68f204a1a31b7b6c0bd6c320ba24e41ad8d/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/8545f68f204a1a31b7b6c0bd6c320ba24e41ad8d/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl

Project Member

Comment 70 by bugdroid1@chromium.org, Aug 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91dfc8d827e4900ae1fc57d022f89cf905eed871

commit 91dfc8d827e4900ae1fc57d022f89cf905eed871
Author: Joshua Bell <jsbell@chromium.org>
Date: Wed Aug 01 23:16:00 2018

Cookie Store API: Add test showing BOMs are not stripped

The cookie RFC[1] does not define an encoding for cookie names/values;
they are treated as a sequence of octets.

The Cookie Store spec[2] mandates treating the octets as UTF-8 encoded.
When decoding octet sequences into strings, the decode should be done
without treating a leading U+FEFF as a BOM. Add a test to verify this.

[1] https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02
[2] https://wicg.github.io/cookie-store/

Bug: 729800
Change-Id: I23b7eb82b35862b8797a203ae6ea86cbd69001d2
Reviewed-on: https://chromium-review.googlesource.com/1159336
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579985}
[add] https://crrev.com/91dfc8d827e4900ae1fc57d022f89cf905eed871/third_party/WebKit/LayoutTests/external/wpt/cookie-store/encoding.https.window.js

Project Member

Comment 71 by bugdroid1@chromium.org, Aug 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78d209f02eb7a0cdb1f2a532456bea49d91fc401

commit 78d209f02eb7a0cdb1f2a532456bea49d91fc401
Author: Joshua Bell <jsbell@chromium.org>
Date: Thu Aug 02 18:56:17 2018

Cookie Store API: Remove `httpOnly` option

The option would seemingly allow the creation of HttpOnly cookies,
which is not permitted with the document.cookie API and we don't want
to introduce that capability here. This didn't work anyway as the API
would fail the cookie creation as coming from a non-HTTP source and
reject the script call, so just remove the option.

Spec issue: https://github.com/WICG/cookie-store/issues/41
Spec PR: https://github.com/WICG/cookie-store/pull/87

Bug: 729800
Change-Id: Id1115db5fbb432a3dd7647b565c5e7e8f45d4e14
Reviewed-on: https://chromium-review.googlesource.com/1160927
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580271}
[modify] https://crrev.com/78d209f02eb7a0cdb1f2a532456bea49d91fc401/third_party/WebKit/LayoutTests/external/wpt/cookie-store/httponly_cookies.https.window.js
[modify] https://crrev.com/78d209f02eb7a0cdb1f2a532456bea49d91fc401/third_party/WebKit/LayoutTests/external/wpt/interfaces/cookie-store.idl
[modify] https://crrev.com/78d209f02eb7a0cdb1f2a532456bea49d91fc401/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
[modify] https://crrev.com/78d209f02eb7a0cdb1f2a532456bea49d91fc401/third_party/blink/renderer/modules/cookie_store/cookie_store_set_options.idl

Status: Started (was: Assigned)
Labels: Proj-Fugu
Labels: M-72 Target-69
Labels: Type-Feature
Project Member

Comment 77 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/37b6a8642c98bd96ebe2193d04fc03d045ccb53d

commit 37b6a8642c98bd96ebe2193d04fc03d045ccb53d
Author: Jarryd <jarrydg@chromium.org>
Date: Tue Nov 20 01:32:47 2018

Async Cookies: Fix cross-frame test cleanup.

Fixed the cleanup functions to return a Promise and use explicit domains to make sure the cookies are cleaned up afterwards.

Bug: 729800
Change-Id: Iba3ca150431e21be26536658d3b5d77648edfe83
Reviewed-on: https://chromium-review.googlesource.com/c/1226199
Commit-Queue: Jarryd Goodman <jarrydg@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609547}
[modify] https://crrev.com/37b6a8642c98bd96ebe2193d04fc03d045ccb53d/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_set_across_frames.tentative.https.html
[modify] https://crrev.com/37b6a8642c98bd96ebe2193d04fc03d045ccb53d/third_party/WebKit/LayoutTests/external/wpt/cookie-store/cookieStore_get_set_across_origins.tentative.sub.https.html

Labels: -M-72 -Target-69
Labels: -Proj-Fugu

Comment 80 by jam@chromium.org, Dec 12 (4 days ago)

Blockedon: -852018

Comment 81 by jam@chromium.org, Dec 12 (4 days ago)

Blockedon: 852018

Sign in to add a comment