diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/cookie-store.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/cookie-store.idl | 110 |
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; +}; |