blob: d4f6459374125d83171e4b6122131bda0fb8b20c [file] [log] [blame]
// https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md
dictionary CookieListItem {
USVString name;
USVString value;
};
typedef sequence<CookieListItem> CookieList;
[
Exposed=(ServiceWorker,Window)
] interface CookieStore {
Promise<CookieList?> getAll(USVString name, optional CookieStoreGetOptions options);
Promise<CookieList?> getAll(optional CookieStoreGetOptions options);
Promise<CookieListItem?> get(USVString name, optional CookieStoreGetOptions options);
Promise<CookieListItem?> get(optional CookieStoreGetOptions options);
Promise<boolean> has(USVString name, optional CookieStoreGetOptions options);
Promise<boolean> has(optional CookieStoreGetOptions options);
Promise<void> set(USVString name, USVString value, optional CookieStoreSetOptions options);
Promise<void> set(CookieStoreSetOptions options);
Promise<void> delete(USVString name, optional CookieStoreSetOptions options);
Promise<void> delete(CookieStoreSetOptions options);
};
enum CookieMatchType {
"equals",
"startsWith"
};
dictionary CookieStoreGetOptions {
USVString name;
USVString url;
CookieMatchType matchType = "equals";
};
dictionary CookieStoreSetOptions {
USVString name;
USVString value;
DOMTimeStamp? expires = null;
USVString domain;
USVString path = "/";
boolean? secure;
boolean httpOnly = false;
};
partial interface Window {
[Replaceable, SameObject] readonly attribute CookieStore cookieStore;
};
partial interface ServiceWorkerGlobalScope {
[Replaceable, SameObject] readonly attribute CookieStore cookieStore;
};