summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/cookie-store
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/meta/cookie-store
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/cookie-store')
-rw-r--r--testing/web-platform/meta/cookie-store/__dir__.ini2
-rw-r--r--testing/web-platform/meta/cookie-store/change_eventhandler_for_document_cookie.https.window.js.ini12
-rw-r--r--testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini15
-rw-r--r--testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/cookieListItem_attributes.https.any.js.ini64
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_empty.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_multiple.https.any.js.ini8
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_single.https.any.js.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_delete_arguments.https.any.js.ini88
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_delete_basic.https.any.js.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_event_arguments.https.window.js.ini12
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_event_basic.https.window.js.ini4
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_event_delete.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_event_overwrite.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_getAll_arguments.https.any.js.ini58
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_getAll_multiple.https.any.js.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_getAll_set_basic.https.any.js.ini8
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_arguments.https.any.js.ini56
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_delete_basic.https.any.js.ini8
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_set_across_frames.https.html.ini6
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_set_across_origins.sub.https.html.ini7
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_set_basic.https.any.js.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_get_set_ordering.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_in_detached_frame.https.html.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_opaque_origin.https.html.ini6
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_set_arguments.https.any.js.ini134
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_special_names.https.any.js.ini56
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_subscribe_arguments.https.any.js.ini33
-rw-r--r--testing/web-platform/meta/cookie-store/cookieStore_subscriptions_empty.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/encoding.https.any.js.ini16
-rw-r--r--testing/web-platform/meta/cookie-store/httponly_cookies.https.window.js.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/idlharness.tentative.https.any.js.ini414
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookieStore_cross_origin.https.sub.html.ini4
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookieStore_subscriptions_reset.https.html.ini10
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.js.ini5
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.js.ini5
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.js.ini5
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.https.any.js.ini3
-rw-r--r--testing/web-platform/meta/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.https.any.js.ini3
41 files changed, 1141 insertions, 0 deletions
diff --git a/testing/web-platform/meta/cookie-store/__dir__.ini b/testing/web-platform/meta/cookie-store/__dir__.ini
new file mode 100644
index 0000000000..7872d5878d
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/__dir__.ini
@@ -0,0 +1,2 @@
+implementation-status: backlog
+lsan-allowed: [Alloc, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::dom::DocGroup::Create, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
diff --git a/testing/web-platform/meta/cookie-store/change_eventhandler_for_document_cookie.https.window.js.ini b/testing/web-platform/meta/cookie-store/change_eventhandler_for_document_cookie.https.window.js.ini
new file mode 100644
index 0000000000..e650c08836
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/change_eventhandler_for_document_cookie.https.window.js.ini
@@ -0,0 +1,12 @@
+[change_eventhandler_for_document_cookie.https.window.html]
+ [document.cookie set/overwrite/delete observed by CookieStore]
+ expected: FAIL
+
+ [CookieStore set/overwrite/delete observed by document.cookie]
+ expected: FAIL
+
+ [CookieStore agrees with document.cookie on encoding non-ASCII cookies]
+ expected: FAIL
+
+ [document.cookie agrees with CookieStore on encoding non-ASCII cookies]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini b/testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini
new file mode 100644
index 0000000000..d2d5ea9c0d
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini
@@ -0,0 +1,15 @@
+[change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.html]
+ [HTTP set/overwrite/delete observed in CookieStore]
+ expected: FAIL
+
+ [CookieStore agreed with HTTP headers agree on encoding non-ASCII cookies]
+ expected: FAIL
+
+ [CookieStore set/overwrite/delete observed in HTTP headers]
+ expected: FAIL
+
+ [HTTP headers agreed with CookieStore on encoding non-ASCII cookies]
+ expected: FAIL
+
+ [Binary HTTP set/overwrite/delete observed in CookieStore]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window.js.ini b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window.js.ini
new file mode 100644
index 0000000000..b87dd5203c
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_and_no_value.https.window.js.ini
@@ -0,0 +1,3 @@
+[change_eventhandler_for_no_name_and_no_value.https.window.html]
+ [Verify behavior of no-name and no-value cookies.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window.js.ini b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window.js.ini
new file mode 100644
index 0000000000..5eeb11610b
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_equals_in_value.https.window.js.ini
@@ -0,0 +1,3 @@
+[change_eventhandler_for_no_name_equals_in_value.https.window.html]
+ [Verify that attempting to set a cookie with no name and with '=' in the value does not work.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window.js.ini b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window.js.ini
new file mode 100644
index 0000000000..6f7ccd3037
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/change_eventhandler_for_no_name_multiple_values.https.window.js.ini
@@ -0,0 +1,3 @@
+[change_eventhandler_for_no_name_multiple_values.https.window.html]
+ [Verify behavior of multiple no-name cookies]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieListItem_attributes.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieListItem_attributes.https.any.js.ini
new file mode 100644
index 0000000000..095ef4b489
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieListItem_attributes.https.any.js.ini
@@ -0,0 +1,64 @@
+[cookieListItem_attributes.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [CookieListItem - cookieStore.set defaults with positional name and value]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set defaults with name and value in options]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with expires set to a timestamp 10 years in the future]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with expires set to a Date 10 years in the future]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with domain set to the current hostname]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with path set to the current directory]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set adds / to path if it does not end with /]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to strict]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to lax]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to none]
+ expected: FAIL
+
+
+[cookieListItem_attributes.https.any.html]
+ [CookieListItem - cookieStore.set defaults with positional name and value]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set defaults with name and value in options]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with expires set to a timestamp 10 years in the future]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with expires set to a Date 10 years in the future]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with domain set to the current hostname]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with path set to the current directory]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set adds / to path if it does not end with /]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to strict]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to lax]
+ expected: FAIL
+
+ [CookieListItem - cookieStore.set with sameSite set to none]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_empty.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_empty.https.any.js.ini
new file mode 100644
index 0000000000..a983a13761
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_empty.https.any.js.ini
@@ -0,0 +1,14 @@
+[cookieStoreManager_getSubscriptions_empty.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [getSubscriptions returns an empty array when there are no subscriptions]
+ expected: FAIL
+
+
+[cookieStoreManager_getSubscriptions_empty.https.any.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [getSubscriptions returns an empty array when there are no subscriptions]
+ expected:
+ if os == "win": [FAIL, TIMEOUT]
+ FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_multiple.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_multiple.https.any.js.ini
new file mode 100644
index 0000000000..e8dcb70198
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_multiple.https.any.js.ini
@@ -0,0 +1,8 @@
+[cookieStoreManager_getSubscriptions_multiple.https.any.html]
+ [getSubscriptions returns a subscription passed to subscribe]
+ expected: FAIL
+
+
+[cookieStoreManager_getSubscriptions_multiple.https.any.serviceworker.html]
+ [getSubscriptions returns a subscription passed to subscribe]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_single.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_single.https.any.js.ini
new file mode 100644
index 0000000000..310183d9c7
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStoreManager_getSubscriptions_single.https.any.js.ini
@@ -0,0 +1,10 @@
+[cookieStoreManager_getSubscriptions_single.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [getSubscriptions returns a subscription passed to subscribe]
+ expected: FAIL
+
+
+[cookieStoreManager_getSubscriptions_single.https.any.html]
+ [getSubscriptions returns a subscription passed to subscribe]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_delete_arguments.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_delete_arguments.https.any.js.ini
new file mode 100644
index 0000000000..b542fd9bf2
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_delete_arguments.https.any.js.ini
@@ -0,0 +1,88 @@
+[cookieStore_delete_arguments.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.delete with positional name]
+ expected: FAIL
+
+ [cookieStore.delete with name in options]
+ expected: FAIL
+
+ [cookieStore.delete domain starts with "."]
+ expected: FAIL
+
+ [cookieStore.delete with domain that is not equal current host]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to a subdomain of the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to a non-domain-matching suffix of the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with path set to the current directory]
+ expected: FAIL
+
+ [cookieStore.delete with path set to subdirectory of the current directory]
+ expected: FAIL
+
+ [cookieStore.delete with missing / at the end of path]
+ expected: FAIL
+
+ [cookieStore.delete with path that does not start with /]
+ expected: FAIL
+
+ [cookieStore.delete with get result]
+ expected: FAIL
+
+ [cookieStore.delete with positional empty name]
+ expected: FAIL
+
+ [cookieStore.delete with empty name in options]
+ expected: FAIL
+
+
+[cookieStore_delete_arguments.https.any.html]
+ [cookieStore.delete with positional name]
+ expected: FAIL
+
+ [cookieStore.delete with name in options]
+ expected: FAIL
+
+ [cookieStore.delete domain starts with "."]
+ expected: FAIL
+
+ [cookieStore.delete with domain that is not equal current host]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to a subdomain of the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with domain set to a non-domain-matching suffix of the current hostname]
+ expected: FAIL
+
+ [cookieStore.delete with path set to the current directory]
+ expected: FAIL
+
+ [cookieStore.delete with path set to subdirectory of the current directory]
+ expected: FAIL
+
+ [cookieStore.delete with missing / at the end of path]
+ expected: FAIL
+
+ [cookieStore.delete with path that does not start with /]
+ expected: FAIL
+
+ [cookieStore.delete with get result]
+ expected: FAIL
+
+ [cookieStore.delete with positional empty name]
+ expected: FAIL
+
+ [cookieStore.delete with empty name in options]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_delete_basic.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_delete_basic.https.any.js.ini
new file mode 100644
index 0000000000..da14ee6b1c
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_delete_basic.https.any.js.ini
@@ -0,0 +1,10 @@
+[cookieStore_delete_basic.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.delete return type is Promise<void>]
+ expected: FAIL
+
+
+[cookieStore_delete_basic.https.any.html]
+ [cookieStore.delete return type is Promise<void>]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_event_arguments.https.window.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_event_arguments.https.window.js.ini
new file mode 100644
index 0000000000..d1d0d092ec
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_event_arguments.https.window.js.ini
@@ -0,0 +1,12 @@
+[cookieStore_event_arguments.https.window.html]
+ [CookieChangeEvent construction with default arguments]
+ expected: FAIL
+
+ [CookieChangeEvent construction with changed cookie list]
+ expected: FAIL
+
+ [CookieChangeEvent construction with deleted cookie list]
+ expected: FAIL
+
+ [CookieChangeEvent construction with changed and deleted cookie lists]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_event_basic.https.window.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_event_basic.https.window.js.ini
new file mode 100644
index 0000000000..d4ee7e88a5
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_event_basic.https.window.js.ini
@@ -0,0 +1,4 @@
+[cookieStore_event_basic.https.window.html]
+ expected: ERROR
+ [cookieStore fires change event for cookie set by cookieStore.set()]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_event_delete.https.window.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_event_delete.https.window.js.ini
new file mode 100644
index 0000000000..6931696966
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_event_delete.https.window.js.ini
@@ -0,0 +1,3 @@
+[cookieStore_event_delete.https.window.html]
+ [cookieStore fires change event for cookie deleted by cookieStore.delete()]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_event_overwrite.https.window.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_event_overwrite.https.window.js.ini
new file mode 100644
index 0000000000..43ce7cbaae
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_event_overwrite.https.window.js.ini
@@ -0,0 +1,3 @@
+[cookieStore_event_overwrite.https.window.html]
+ [cookieStore fires change event for cookie overwritten by cookieStore.set()]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_getAll_arguments.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_getAll_arguments.https.any.js.ini
new file mode 100644
index 0000000000..c48e477ae3
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_getAll_arguments.https.any.js.ini
@@ -0,0 +1,58 @@
+[cookieStore_getAll_arguments.https.any.html]
+ [cookieStore.getAll with no arguments]
+ expected: FAIL
+
+ [cookieStore.getAll with empty options]
+ expected: FAIL
+
+ [cookieStore.getAll with positional name]
+ expected: FAIL
+
+ [cookieStore.getAll with name in options]
+ expected: FAIL
+
+ [cookieStore.getAll with name in both positional arguments and options]
+ expected: FAIL
+
+ [cookieStore.getAll with absolute url in options]
+ expected: FAIL
+
+ [cookieStore.getAll with relative url in options]
+ expected: FAIL
+
+ [cookieStore.getAll with invalid url path in options]
+ expected: FAIL
+
+ [cookieStore.getAll with invalid url host in options]
+ expected: FAIL
+
+
+[cookieStore_getAll_arguments.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.getAll with no arguments]
+ expected: FAIL
+
+ [cookieStore.getAll with empty options]
+ expected: FAIL
+
+ [cookieStore.getAll with positional name]
+ expected: FAIL
+
+ [cookieStore.getAll with name in options]
+ expected: FAIL
+
+ [cookieStore.getAll with name in both positional arguments and options]
+ expected: FAIL
+
+ [cookieStore.getAll with absolute url in options]
+ expected: FAIL
+
+ [cookieStore.getAll with relative url in options]
+ expected: FAIL
+
+ [cookieStore.getAll with invalid url path in options]
+ expected: FAIL
+
+ [cookieStore.getAll with invalid url host in options]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_getAll_multiple.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_getAll_multiple.https.any.js.ini
new file mode 100644
index 0000000000..a6eae8076b
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_getAll_multiple.https.any.js.ini
@@ -0,0 +1,10 @@
+[cookieStore_getAll_multiple.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.getAll returns multiple cookies written by cookieStore.set]
+ expected: FAIL
+
+
+[cookieStore_getAll_multiple.https.any.html]
+ [cookieStore.getAll returns multiple cookies written by cookieStore.set]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_getAll_set_basic.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_getAll_set_basic.https.any.js.ini
new file mode 100644
index 0000000000..534bdcecd1
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_getAll_set_basic.https.any.js.ini
@@ -0,0 +1,8 @@
+[cookieStore_getAll_set_basic.https.any.html]
+ [cookieStore.getAll returns the cookie written by cookieStore.set]
+ expected: FAIL
+
+
+[cookieStore_getAll_set_basic.https.any.serviceworker.html]
+ [cookieStore.getAll returns the cookie written by cookieStore.set]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_arguments.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_arguments.https.any.js.ini
new file mode 100644
index 0000000000..9c4b8f3c4b
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_arguments.https.any.js.ini
@@ -0,0 +1,56 @@
+[cookieStore_get_arguments.https.any.serviceworker.html]
+ [cookieStore.get with no arguments returns TypeError]
+ expected: FAIL
+
+ [cookieStore.get with empty options returns TypeError]
+ expected: FAIL
+
+ [cookieStore.get with positional name]
+ expected: FAIL
+
+ [cookieStore.get with name in options]
+ expected: FAIL
+
+ [cookieStore.get with name in both positional arguments and options]
+ expected: FAIL
+
+ [cookieStore.get with absolute url in options]
+ expected: FAIL
+
+ [cookieStore.get with relative url in options]
+ expected: FAIL
+
+ [cookieStore.get with invalid url path in options]
+ expected: FAIL
+
+ [cookieStore.get with invalid url host in options]
+ expected: FAIL
+
+
+[cookieStore_get_arguments.https.any.html]
+ [cookieStore.get with no arguments returns TypeError]
+ expected: FAIL
+
+ [cookieStore.get with empty options returns TypeError]
+ expected: FAIL
+
+ [cookieStore.get with positional name]
+ expected: FAIL
+
+ [cookieStore.get with name in options]
+ expected: FAIL
+
+ [cookieStore.get with name in both positional arguments and options]
+ expected: FAIL
+
+ [cookieStore.get with absolute url in options]
+ expected: FAIL
+
+ [cookieStore.get with relative url in options]
+ expected: FAIL
+
+ [cookieStore.get with invalid url path in options]
+ expected: FAIL
+
+ [cookieStore.get with invalid url host in options]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_delete_basic.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_delete_basic.https.any.js.ini
new file mode 100644
index 0000000000..7fe073ef89
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_delete_basic.https.any.js.ini
@@ -0,0 +1,8 @@
+[cookieStore_get_delete_basic.https.any.serviceworker.html]
+ [cookieStore.get returns null for a cookie deleted by cookieStore.delete]
+ expected: FAIL
+
+
+[cookieStore_get_delete_basic.https.any.html]
+ [cookieStore.get returns null for a cookie deleted by cookieStore.delete]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_frames.https.html.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_frames.https.html.ini
new file mode 100644
index 0000000000..6b3a3df32f
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_frames.https.html.ini
@@ -0,0 +1,6 @@
+[cookieStore_get_set_across_frames.https.html]
+ [cookieStore.get() sees cookieStore.set() in frame]
+ expected: FAIL
+
+ [cookieStore.get() in frame sees cookieStore.set()]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_origins.sub.https.html.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_origins.sub.https.html.ini
new file mode 100644
index 0000000000..8d1b4b5762
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_set_across_origins.sub.https.html.ini
@@ -0,0 +1,7 @@
+[cookieStore_get_set_across_origins.sub.https.html]
+ expected: TIMEOUT
+ [cookieStore.get() sees cookieStore.set() in cross-origin frame]
+ expected: TIMEOUT
+
+ [cookieStore.get() in cross-origin frame sees cookieStore.set()]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_set_basic.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_set_basic.https.any.js.ini
new file mode 100644
index 0000000000..73cfae81bb
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_set_basic.https.any.js.ini
@@ -0,0 +1,10 @@
+[cookieStore_get_set_basic.https.any.html]
+ [cookieStore.get returns the cookie written by cookieStore.set]
+ expected: FAIL
+
+
+[cookieStore_get_set_basic.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.get returns the cookie written by cookieStore.set]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_get_set_ordering.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_get_set_ordering.https.any.js.ini
new file mode 100644
index 0000000000..bbf52866ca
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_get_set_ordering.https.any.js.ini
@@ -0,0 +1,14 @@
+[cookieStore_get_set_ordering.https.any.html]
+ [Set three simple origin session cookies sequentially and ensure they all end up in the cookie jar in order.]
+ expected: FAIL
+
+ [Set three simple origin session cookies in undefined order using Promise.all and ensure they all end up in the cookie jar in any order. ]
+ expected: FAIL
+
+
+[cookieStore_get_set_ordering.https.any.serviceworker.html]
+ [Set three simple origin session cookies sequentially and ensure they all end up in the cookie jar in order.]
+ expected: FAIL
+
+ [Set three simple origin session cookies in undefined order using Promise.all and ensure they all end up in the cookie jar in any order. ]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_in_detached_frame.https.html.ini b/testing/web-platform/meta/cookie-store/cookieStore_in_detached_frame.https.html.ini
new file mode 100644
index 0000000000..bb9056281b
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_in_detached_frame.https.html.ini
@@ -0,0 +1,3 @@
+[cookieStore_in_detached_frame.https.html]
+ [cookieStore on DOMWindow of detached iframe (crbug.com/774626)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_opaque_origin.https.html.ini b/testing/web-platform/meta/cookie-store/cookieStore_opaque_origin.https.html.ini
new file mode 100644
index 0000000000..87f8ce5731
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_opaque_origin.https.html.ini
@@ -0,0 +1,6 @@
+[cookieStore_opaque_origin.https.html]
+ [cookieStore in non-sandboxed iframe should not throw]
+ expected: FAIL
+
+ [cookieStore in sandboxed iframe should throw SecurityError]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_set_arguments.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_set_arguments.https.any.js.ini
new file mode 100644
index 0000000000..4915473753
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_set_arguments.https.any.js.ini
@@ -0,0 +1,134 @@
+[cookieStore_set_arguments.https.any.html]
+ [cookieStore.set with positional name and value]
+ expected: FAIL
+
+ [cookieStore.set with name and value in options]
+ expected: FAIL
+
+ [cookieStore.set with empty name and an '=' in value]
+ expected: FAIL
+
+ [cookieStore.set with normal name and an '=' in value]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a future Date]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a past Date]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a future timestamp]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a past timestamp]
+ expected: FAIL
+
+ [cookieStore.set domain starts with "."]
+ expected: FAIL
+
+ [cookieStore.set with domain that is not equal current host]
+ expected: FAIL
+
+ [cookieStore.set with domain set to the current hostname]
+ expected: FAIL
+
+ [cookieStore.set with domain set to a subdomain of the current hostname]
+ expected: FAIL
+
+ [cookieStore.set with domain set to a non-domain-matching suffix of the current hostname]
+ expected: FAIL
+
+ [cookieStore.set default domain is null and differs from current hostname]
+ expected: FAIL
+
+ [cookieStore.set with path set to the current directory]
+ expected: FAIL
+
+ [cookieStore.set with path set to a subdirectory of the current directory]
+ expected: FAIL
+
+ [cookieStore.set default path is /]
+ expected: FAIL
+
+ [cookieStore.set adds / to path that does not end with /]
+ expected: FAIL
+
+ [cookieStore.set with path that does not start with /]
+ expected: FAIL
+
+ [cookieStore.set with get result]
+ expected: FAIL
+
+ [cookieStore.set checks if the domain is too long]
+ expected: FAIL
+
+ [cookieStore.set checks if the path is too long]
+ expected: FAIL
+
+
+[cookieStore_set_arguments.https.any.serviceworker.html]
+ [cookieStore.set with positional name and value]
+ expected: FAIL
+
+ [cookieStore.set with name and value in options]
+ expected: FAIL
+
+ [cookieStore.set with empty name and an '=' in value]
+ expected: FAIL
+
+ [cookieStore.set with normal name and an '=' in value]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a future Date]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a past Date]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a future timestamp]
+ expected: FAIL
+
+ [cookieStore.set with expires set to a past timestamp]
+ expected: FAIL
+
+ [cookieStore.set domain starts with "."]
+ expected: FAIL
+
+ [cookieStore.set with domain that is not equal current host]
+ expected: FAIL
+
+ [cookieStore.set with domain set to the current hostname]
+ expected: FAIL
+
+ [cookieStore.set with domain set to a subdomain of the current hostname]
+ expected: FAIL
+
+ [cookieStore.set with domain set to a non-domain-matching suffix of the current hostname]
+ expected: FAIL
+
+ [cookieStore.set default domain is null and differs from current hostname]
+ expected: FAIL
+
+ [cookieStore.set with path set to the current directory]
+ expected: FAIL
+
+ [cookieStore.set with path set to a subdirectory of the current directory]
+ expected: FAIL
+
+ [cookieStore.set default path is /]
+ expected: FAIL
+
+ [cookieStore.set adds / to path that does not end with /]
+ expected: FAIL
+
+ [cookieStore.set with path that does not start with /]
+ expected: FAIL
+
+ [cookieStore.set with get result]
+ expected: FAIL
+
+ [cookieStore.set checks if the domain is too long]
+ expected: FAIL
+
+ [cookieStore.set checks if the path is too long]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_special_names.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_special_names.https.any.js.ini
new file mode 100644
index 0000000000..aa5fc37de4
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_special_names.https.any.js.ini
@@ -0,0 +1,56 @@
+[cookieStore_special_names.https.any.html]
+ [cookieStore.set with __Secure- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set of expired __Secure- cookie name on secure origin]
+ expected: FAIL
+
+ [cookieStore.delete with __Secure- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set with __Host- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set of expired __Host- cookie name on secure origin]
+ expected: FAIL
+
+ [cookieStore.delete with __Host- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set with __Host- prefix and a domain option]
+ expected: FAIL
+
+ [cookieStore.set with __Host- prefix a path option]
+ expected: FAIL
+
+ [cookieStore.set with malformed name.]
+ expected: FAIL
+
+
+[cookieStore_special_names.https.any.serviceworker.html]
+ [cookieStore.set with __Secure- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set of expired __Secure- cookie name on secure origin]
+ expected: FAIL
+
+ [cookieStore.delete with __Secure- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set with __Host- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set of expired __Host- cookie name on secure origin]
+ expected: FAIL
+
+ [cookieStore.delete with __Host- name on secure origin]
+ expected: FAIL
+
+ [cookieStore.set with __Host- prefix and a domain option]
+ expected: FAIL
+
+ [cookieStore.set with __Host- prefix a path option]
+ expected: FAIL
+
+ [cookieStore.set with malformed name.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_subscribe_arguments.https.any.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_subscribe_arguments.https.any.js.ini
new file mode 100644
index 0000000000..ffa91d7308
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_subscribe_arguments.https.any.js.ini
@@ -0,0 +1,33 @@
+[cookieStore_subscribe_arguments.https.any.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookieStore.subscribe without url in option]
+ expected: FAIL
+
+ [cookieStore.subscribe with invalid url path in option]
+ expected: FAIL
+
+ [cookieStore.subscribe is idempotent]
+ expected:
+ if os == "win": [FAIL, TIMEOUT]
+ FAIL
+
+ [CookieStore.unsubscribe is idempotent]
+ expected:
+ if os == "win": [FAIL, NOTRUN, TIMEOUT]
+ FAIL
+
+
+[cookieStore_subscribe_arguments.https.any.serviceworker.html]
+ expected: TIMEOUT
+ [cookieStore.subscribe without url in option]
+ expected: FAIL
+
+ [cookieStore.subscribe with invalid url path in option]
+ expected: TIMEOUT
+
+ [cookieStore.subscribe is idempotent]
+ expected: NOTRUN
+
+ [CookieStore.unsubscribe is idempotent]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/cookie-store/cookieStore_subscriptions_empty.https.window.js.ini b/testing/web-platform/meta/cookie-store/cookieStore_subscriptions_empty.https.window.js.ini
new file mode 100644
index 0000000000..7e73a7c431
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/cookieStore_subscriptions_empty.https.window.js.ini
@@ -0,0 +1,3 @@
+[cookieStore_subscriptions_empty.https.window.html]
+ [Newly registered and activated service worker has no subscriptions]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/encoding.https.any.js.ini b/testing/web-platform/meta/cookie-store/encoding.https.any.js.ini
new file mode 100644
index 0000000000..8321b9952c
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/encoding.https.any.js.ini
@@ -0,0 +1,16 @@
+[encoding.https.any.html]
+ [BOM not stripped from name]
+ expected: FAIL
+
+ [BOM not stripped from value]
+ expected: FAIL
+
+
+[encoding.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [BOM not stripped from name]
+ expected: FAIL
+
+ [BOM not stripped from value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/httponly_cookies.https.window.js.ini b/testing/web-platform/meta/cookie-store/httponly_cookies.https.window.js.ini
new file mode 100644
index 0000000000..bc65929bbf
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/httponly_cookies.https.window.js.ini
@@ -0,0 +1,10 @@
+[httponly_cookies.https.window.html]
+ [HttpOnly cookies are not observed]
+ expected: FAIL
+
+ [HttpOnly cookies can not be set by document.cookie]
+ expected: FAIL
+
+ [HttpOnly cookies can not be set by CookieStore]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/cookie-store/idlharness.tentative.https.any.js.ini b/testing/web-platform/meta/cookie-store/idlharness.tentative.https.any.js.ini
new file mode 100644
index 0000000000..322a963bb5
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/idlharness.tentative.https.any.js.ini
@@ -0,0 +1,414 @@
+[idlharness.tentative.https.any.html]
+ [CookieStore interface: operation delete(USVString)]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "onchange" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: calling getAll(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CookieStore interface: operation getAll(USVString)]
+ expected: FAIL
+
+ [CookieChangeEvent interface object name]
+ expected: FAIL
+
+ [CookieStore interface: calling delete(CookieStoreDeleteOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "delete(CookieStoreDeleteOptions)" with the proper type]
+ expected: FAIL
+
+ [CookieChangeEvent interface: new CookieChangeEvent("change") must inherit property "changed" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "getAll(USVString)" with the proper type]
+ expected: FAIL
+
+ [CookieChangeEvent interface: new CookieChangeEvent("change") must inherit property "deleted" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: attribute onchange]
+ expected: FAIL
+
+ [CookieChangeEvent interface: attribute changed]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStore interface object length]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CookieStore interface: calling get(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: calling delete(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieChangeEvent interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStore interface object name]
+ expected: FAIL
+
+ [CookieChangeEvent must be primary interface of new CookieChangeEvent("change")]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CookieChangeEvent interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [Window interface: attribute cookieStore]
+ expected: FAIL
+
+ [CookieStore interface: operation delete(CookieStoreDeleteOptions)]
+ expected: FAIL
+
+ [CookieChangeEvent interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CookieChangeEvent interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CookieChangeEvent interface: attribute deleted]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "delete(USVString)" with the proper type]
+ expected: FAIL
+
+ [CookieChangeEvent interface object length]
+ expected: FAIL
+
+ [CookieStore interface: operation get(USVString)]
+ expected: FAIL
+
+ [CookieStore must be primary interface of self.cookieStore]
+ expected: FAIL
+
+ [Stringification of self.cookieStore]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "get(USVString)" with the proper type]
+ expected: FAIL
+
+ [Stringification of new CookieChangeEvent("change")]
+ expected: FAIL
+
+ [Window interface: self must inherit property "cookieStore" with the proper type]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: attribute cookies]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CookieStoreManager must be primary interface of self.registration.cookies]
+ expected: FAIL
+
+ [CookieStoreManager interface object name]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: self.registration must inherit property "cookies" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "getSubscriptions()" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation getSubscriptions()]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CookieStoreManager interface object length]
+ expected: FAIL
+
+ [Stringification of self.registration.cookies]
+ expected: FAIL
+
+ [CookieStore interface: calling getAll(optional CookieStoreGetOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation getAll(optional CookieStoreGetOptions)]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "getAll(optional CookieStoreGetOptions)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation unsubscribe(sequence<CookieStoreGetOptions>)]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "subscribe(sequence<CookieStoreGetOptions>)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: calling subscribe(sequence<CookieStoreGetOptions>) on self.registration.cookies with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation subscribe(sequence<CookieStoreGetOptions>)]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "unsubscribe(sequence<CookieStoreGetOptions>)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: calling unsubscribe(sequence<CookieStoreGetOptions>) on self.registration.cookies with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: calling set(USVString, USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation set(CookieInit)]
+ expected: FAIL
+
+ [CookieStore interface: operation set(USVString, USVString)]
+ expected: FAIL
+
+ [CookieStore interface: calling get(optional CookieStoreGetOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation get(optional CookieStoreGetOptions)]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "get(optional CookieStoreGetOptions)" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: calling set(CookieInit) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "set(USVString, USVString)" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "set(CookieInit)" with the proper type]
+ expected: FAIL
+
+
+[idlharness.tentative.https.any.serviceworker.html]
+ [CookieStore interface: operation delete(USVString)]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStore interface: calling getAll(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CookieStore interface: operation getAll(USVString)]
+ expected: FAIL
+
+ [CookieStore interface: calling delete(CookieStoreDeleteOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "delete(CookieStoreDeleteOptions)" with the proper type]
+ expected: FAIL
+
+ [ServiceWorkerGlobalScope interface: self must inherit property "oncookiechange" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "getAll(USVString)" with the proper type]
+ expected: FAIL
+
+ [ServiceWorkerGlobalScope interface: attribute cookieStore]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStore interface object length]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: new ExtendableCookieChangeEvent("cookiechange") must inherit property "changed" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CookieStore interface: calling get(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: calling delete(USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface object length]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface object name]
+ expected: FAIL
+
+ [CookieStore interface object name]
+ expected: FAIL
+
+ [ServiceWorkerGlobalScope interface: self must inherit property "cookieStore" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CookieStore interface: operation delete(CookieStoreDeleteOptions)]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent must be primary interface of new ExtendableCookieChangeEvent("cookiechange")]
+ expected: FAIL
+
+ [ServiceWorkerGlobalScope interface: attribute oncookiechange]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "delete(USVString)" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: operation get(USVString)]
+ expected: FAIL
+
+ [CookieStore must be primary interface of self.cookieStore]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: attribute deleted]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must not have property "onchange"]
+ expected: FAIL
+
+ [Stringification of self.cookieStore]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "get(USVString)" with the proper type]
+ expected: FAIL
+
+ [Stringification of new ExtendableCookieChangeEvent("cookiechange")]
+ expected: FAIL
+
+ [CookieStore interface: member onchange]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: attribute changed]
+ expected: FAIL
+
+ [ExtendableCookieChangeEvent interface: new ExtendableCookieChangeEvent("cookiechange") must inherit property "deleted" with the proper type]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: attribute cookies]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CookieStoreManager must be primary interface of self.registration.cookies]
+ expected: FAIL
+
+ [CookieStoreManager interface object name]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: self.registration must inherit property "cookies" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "getSubscriptions()" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation getSubscriptions()]
+ expected: FAIL
+
+ [CookieStoreManager interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CookieStoreManager interface object length]
+ expected: FAIL
+
+ [Stringification of self.registration.cookies]
+ expected: FAIL
+
+ [CookieStore interface: calling getAll(optional CookieStoreGetOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation getAll(optional CookieStoreGetOptions)]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "getAll(optional CookieStoreGetOptions)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation unsubscribe(sequence<CookieStoreGetOptions>)]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "subscribe(sequence<CookieStoreGetOptions>)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: calling subscribe(sequence<CookieStoreGetOptions>) on self.registration.cookies with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStoreManager interface: operation subscribe(sequence<CookieStoreGetOptions>)]
+ expected: FAIL
+
+ [CookieStoreManager interface: self.registration.cookies must inherit property "unsubscribe(sequence<CookieStoreGetOptions>)" with the proper type]
+ expected: FAIL
+
+ [CookieStoreManager interface: calling unsubscribe(sequence<CookieStoreGetOptions>) on self.registration.cookies with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: calling set(USVString, USVString) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation set(CookieInit)]
+ expected: FAIL
+
+ [CookieStore interface: calling get(optional CookieStoreGetOptions) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: operation get(optional CookieStoreGetOptions)]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "get(optional CookieStoreGetOptions)" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: operation set(USVString, USVString)]
+ expected: FAIL
+
+ [CookieStore interface: calling set(CookieInit) on self.cookieStore with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "set(USVString, USVString)" with the proper type]
+ expected: FAIL
+
+ [CookieStore interface: self.cookieStore must inherit property "set(CookieInit)" with the proper type]
+ expected: FAIL
+
+
+[idlharness.tentative.https.any.sharedworker.html]
+ [ServiceWorkerRegistration interface: member cookies]
+ expected: FAIL
+
+
+[idlharness.tentative.https.any.worker.html]
+ [ServiceWorkerRegistration interface: member cookies]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_cross_origin.https.sub.html.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_cross_origin.https.sub.html.ini
new file mode 100644
index 0000000000..36678a489a
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_cross_origin.https.sub.html.ini
@@ -0,0 +1,4 @@
+[serviceworker_cookieStore_cross_origin.https.sub.html]
+ expected: TIMEOUT
+ [cookieStore.get() in ServiceWorker reads cookie set in cross-origin frame]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_subscriptions_reset.https.html.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_subscriptions_reset.https.html.ini
new file mode 100644
index 0000000000..c8473c0191
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookieStore_subscriptions_reset.https.html.ini
@@ -0,0 +1,10 @@
+[serviceworker_cookieStore_subscriptions_reset.https.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookiechange subscriptions reset across service worker unregistrations]
+ expected: FAIL
+
+ [cookiechange subscriptions persist across service worker updates]
+ expected:
+ if os == "win": [FAIL, TIMEOUT]
+ FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.js.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.js.ini
new file mode 100644
index 0000000000..d5441c99f0
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.js.ini
@@ -0,0 +1,5 @@
+[serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookiechange not dispatched for change that does not match subscription]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.js.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.js.ini
new file mode 100644
index 0000000000..9944b961c9
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.js.ini
@@ -0,0 +1,5 @@
+[serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [cookiechange dispatched with cookie change that matches subscription]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.js.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.js.ini
new file mode 100644
index 0000000000..0e72852ba5
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.js.ini
@@ -0,0 +1,5 @@
+[serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.serviceworker.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [1 cookiechange event dispatched with cookie change that matches multiple subscriptions]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.https.any.js.ini b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.https.any.js.ini
new file mode 100644
index 0000000000..a494dc3ea3
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.https.any.js.ini
@@ -0,0 +1,3 @@
+[serviceworker_cookiechange_eventhandler_single_subscription.https.any.serviceworker.html]
+ [cookiechange dispatched with cookie change that matches subscription to cookiechange event handler registered with addEventListener]
+ expected: FAIL
diff --git a/testing/web-platform/meta/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.https.any.js.ini b/testing/web-platform/meta/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.https.any.js.ini
new file mode 100644
index 0000000000..b7ad0d6d90
--- /dev/null
+++ b/testing/web-platform/meta/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.https.any.js.ini
@@ -0,0 +1,3 @@
+[serviceworker_oncookiechange_eventhandler_single_subscription.https.any.serviceworker.html]
+ [cookiechange dispatched with cookie change that matches subscription to cookiechange event handler registered with addEventListener]
+ expected: FAIL