gecko-dev/testing/web-platform/tests/cookie-store
..
resources
cookieListItem_attributes.tentative.https.window.js
cookieStore_delete_arguments.tentative.https.window.js
cookieStore_delete_basic.tentative.https.window.js
cookieStore_event_arguments.tenative.https.window.js
cookieStore_event_basic.tentative.https.window.js
cookieStore_event_delete.tenative.https.window.js
cookieStore_event_overwrite.tentative.https.window.js
cookieStore_get_arguments.tentative.https.window.js
cookieStore_get_delete_basic.tentative.https.window.js
cookieStore_get_set_across_frames.tentative.https.html
cookieStore_get_set_across_origins.tentative.sub.https.html
cookieStore_get_set_basic.tentative.https.window.js
cookieStore_getAll_arguments.tentative.https.window.js
cookieStore_getAll_multiple.tentative.https.window.js
cookieStore_getAll_set_basic.tentative.https.window.js
cookieStore_in_detached_frame.tentative.https.html
cookieStore_set_arguments.tentative.https.window.js
cookieStore_special_names.tentative.https.window.js
document_cookie.tentative.https.html
encoding.https.window.js
http_cookie_and_set_cookie_headers.tentative.https.html
httponly_cookies.https.window.js
idlharness.tentative.https.html
idlharness_serviceworker.js
idlharness_serviceworker.tentative.https.html
META.yml
no_name_and_no_value.tentative.https.html
no_name_equals_in_value.tentative.https.html
no_name_multiple_values.tentative.https.html
ordering.tentative.https.html
README.md
serviceworker_cookieStore_arguments.js
serviceworker_cookieStore_arguments.tentative.https.html
serviceworker_cookieStore_basic.js
serviceworker_cookieStore_basic.tentative.https.html
serviceworker_cookieStore_cross_origin.js
serviceworker_cookieStore_cross_origin.tentative.https.sub.html
serviceworker_cookieStore_subscriptions.js
serviceworker_cookieStore_subscriptions.tentative.https.html
serviceworker_cookieStore_subscriptions_basic.js
serviceworker_cookieStore_subscriptions_basic.tentative.https.html
serviceworker_cookieStore_subscriptions_empty.js
serviceworker_cookieStore_subscriptions_empty.tentative.https.html
serviceworker_cookieStore_subscriptions_eventhandler_attribute.js
serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html
serviceworker_cookieStore_subscriptions_mismatch.js
serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html

This directory contains tests for the Async Cookies API.

A simple origin cookie is a cookie named with the __Host- prefix which is always secure-flagged, always implicit-domain, always /-scoped, and hence always unambiguous in the cookie jar serialization and origin-scoped. It can be treated as a simple key/value pair.

"LEGACY" in a cookie name here means it is an old-style unprefixed cookie name, so you can't tell e.g. whether it is Secure-flagged or /-pathed just by looking at it, and its flags, domain and path may vary even in a single cookie jar serialization leading to apparent duplicate entries, ambiguities, and complexity (i.e. it cannot be treated as a simple key/value pair.)

Cookie names used in the tests are intended to be realistic. Traditional session cookie names are typically all-upper-case for broad framework compatibility. The more modern "__Host-" prefix has only one allowed casing. An expected upgrade path from traditional "legacy" cookie names to simple origin cookie names is simply to prefix the traditional name with the "__Host-" prefix.

Many of the used cookie names are non-ASCII to ensure straightforward internationalization is possible at every API surface. These work in many modern browsers, though not yet all of them.