tree: b8779f2e202465519f18b291957731dc961a30ea [path history] [tgz]
  1. resources/
  2. change_eventhandler_for_already_expired.https.window.js
  3. change_eventhandler_for_document_cookie.https.window.js
  4. change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js
  5. change_eventhandler_for_no_change.https.window.js
  6. change_eventhandler_for_no_name_and_no_value.https.window.js
  7. change_eventhandler_for_no_name_equals_in_value.https.window.js
  8. change_eventhandler_for_no_name_multiple_values.https.window.js
  9. cookieListItem_attributes.https.any.js
  10. cookieStore_delete.sub.https.html
  11. cookieStore_delete_arguments.https.any.js
  12. cookieStore_delete_basic.https.any.js
  13. cookieStore_event_arguments.https.window.js
  14. cookieStore_event_basic.https.window.js
  15. cookieStore_event_delete.https.window.js
  16. cookieStore_event_overwrite.https.window.js
  17. cookieStore_get_arguments.https.any.js
  18. cookieStore_get_delete_basic.https.any.js
  19. cookieStore_get_set_across_frames.https.html
  20. cookieStore_get_set_across_origins.sub.https.html
  21. cookieStore_get_set_basic.https.any.js
  22. cookieStore_get_set_creation_url.https.any.js
  23. cookieStore_get_set_creation_url.sub.https.html
  24. cookieStore_get_set_ordering.https.any.js
  25. cookieStore_getAll_arguments.https.any.js
  26. cookieStore_getAll_multiple.https.any.js
  27. cookieStore_getAll_set_basic.https.any.js
  28. cookieStore_getAll_set_creation_url.https.any.js
  29. cookieStore_in_detached_frame.https.html
  30. cookieStore_opaque_origin.https.html
  31. cookieStore_set_arguments.https.any.js
  32. cookieStore_set_limit.https.any.js
  33. cookieStore_special_names.https.any.js
  34. cookieStore_subscribe_arguments.https.any.js
  35. cookieStore_subscriptions_empty.https.window.js
  36. cookieStoreManager_getSubscriptions_empty.https.any.js
  37. cookieStoreManager_getSubscriptions_multiple.https.any.js
  38. cookieStoreManager_getSubscriptions_single.https.any.js
  39. encoding.https.any.js
  40. httponly_cookies.https.window.js
  41. idlharness.https.any.js
  42. META.yml
  43. README.md
  44. serviceworker_cookiechange_eventhandler_already_expired.https.any.js
  45. serviceworker_cookiechange_eventhandler_mismatched_subscription.https.any.js
  46. serviceworker_cookiechange_eventhandler_multiple_subscriptions.https.any.js
  47. serviceworker_cookiechange_eventhandler_no_change.https.any.js
  48. serviceworker_cookiechange_eventhandler_overlapping_subscriptions.https.any.js
  49. serviceworker_cookiechange_eventhandler_single_subscription.https.any.js
  50. serviceworker_cookieStore_cross_origin.https.sub.html
  51. serviceworker_cookieStore_cross_origin.js
  52. serviceworker_cookieStore_subscriptions_reset.https.html
  53. serviceworker_oncookiechange_eventhandler_single_subscription.https.any.js
cookie-store/README.md

This directory contains tests for the Cookie Store API.

Note on cookie naming conventions

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.