summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/cookie-store.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/cookie-store.idl')
-rw-r--r--testing/web-platform/tests/interfaces/cookie-store.idl110
1 files changed, 110 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/cookie-store.idl b/testing/web-platform/tests/interfaces/cookie-store.idl
new file mode 100644
index 0000000000..72ef3f8c82
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/cookie-store.idl
@@ -0,0 +1,110 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Cookie Store API (https://wicg.github.io/cookie-store/)
+
+[Exposed=(ServiceWorker,Window),
+ SecureContext]
+interface CookieStore : EventTarget {
+ Promise<CookieListItem?> get(USVString name);
+ Promise<CookieListItem?> get(optional CookieStoreGetOptions options = {});
+
+ Promise<CookieList> getAll(USVString name);
+ Promise<CookieList> getAll(optional CookieStoreGetOptions options = {});
+
+ Promise<undefined> set(USVString name, USVString value);
+ Promise<undefined> set(CookieInit options);
+
+ Promise<undefined> delete(USVString name);
+ Promise<undefined> delete(CookieStoreDeleteOptions options);
+
+ [Exposed=Window]
+ attribute EventHandler onchange;
+};
+
+dictionary CookieStoreGetOptions {
+ USVString name;
+ USVString url;
+};
+
+enum CookieSameSite {
+ "strict",
+ "lax",
+ "none"
+};
+
+dictionary CookieInit {
+ required USVString name;
+ required USVString value;
+ EpochTimeStamp? expires = null;
+ USVString? domain = null;
+ USVString path = "/";
+ CookieSameSite sameSite = "strict";
+};
+
+dictionary CookieStoreDeleteOptions {
+ required USVString name;
+ USVString? domain = null;
+ USVString path = "/";
+};
+
+dictionary CookieListItem {
+ USVString name;
+ USVString value;
+ USVString? domain;
+ USVString path;
+ EpochTimeStamp? expires;
+ boolean secure;
+ CookieSameSite sameSite;
+};
+
+typedef sequence<CookieListItem> CookieList;
+
+[Exposed=(ServiceWorker,Window),
+ SecureContext]
+interface CookieStoreManager {
+ Promise<undefined> subscribe(sequence<CookieStoreGetOptions> subscriptions);
+ Promise<sequence<CookieStoreGetOptions>> getSubscriptions();
+ Promise<undefined> unsubscribe(sequence<CookieStoreGetOptions> subscriptions);
+};
+
+[Exposed=(ServiceWorker,Window)]
+partial interface ServiceWorkerRegistration {
+ [SameObject] readonly attribute CookieStoreManager cookies;
+};
+
+[Exposed=Window,
+ SecureContext]
+interface CookieChangeEvent : Event {
+ constructor(DOMString type, optional CookieChangeEventInit eventInitDict = {});
+ [SameObject] readonly attribute FrozenArray<CookieListItem> changed;
+ [SameObject] readonly attribute FrozenArray<CookieListItem> deleted;
+};
+
+dictionary CookieChangeEventInit : EventInit {
+ CookieList changed;
+ CookieList deleted;
+};
+
+[Exposed=ServiceWorker]
+interface ExtendableCookieChangeEvent : ExtendableEvent {
+ constructor(DOMString type, optional ExtendableCookieChangeEventInit eventInitDict = {});
+ [SameObject] readonly attribute FrozenArray<CookieListItem> changed;
+ [SameObject] readonly attribute FrozenArray<CookieListItem> deleted;
+};
+
+dictionary ExtendableCookieChangeEventInit : ExtendableEventInit {
+ CookieList changed;
+ CookieList deleted;
+};
+
+[SecureContext]
+partial interface Window {
+ [SameObject] readonly attribute CookieStore cookieStore;
+};
+
+partial interface ServiceWorkerGlobalScope {
+ [SameObject] readonly attribute CookieStore cookieStore;
+
+ attribute EventHandler oncookiechange;
+};