Revision 699383b151a45f102159d95862096a10528c865f authored by Jinho Bang on 20 April 2018, 14:06:41 UTC, committed by Chromium WPT Sync on 20 April 2018, 14:06:41 UTC
Related spec change:
  https://github.com/w3c/payment-handler/pull/293

Bug: 833535
Change-Id: Id7d0cad0f150a73e2932bd8f81f9e5650830a2c0
Reviewed-on: https://chromium-review.googlesource.com/1013660
Reviewed-by: Ganggui Tang <gogerald@chromium.org>
Commit-Queue: Jinho Bang <jinho.bang@samsung.com>
Cr-Commit-Position: refs/heads/master@{#552319}
1 parent 55d647f
Raw File
cookie-store.idl
// https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md

dictionary CookieListItem {
  USVString name;
  USVString value;
};

typedef sequence<CookieListItem> CookieList;

dictionary CookieChangeEventInit : EventInit {
  CookieList changed;
  CookieList deleted;
};

[
  Exposed=(ServiceWorker,Window),
  Constructor(DOMString type, optional CookieChangeEventInit eventInitDict)
] interface CookieChangeEvent : Event {
  readonly attribute CookieList changed;
  readonly attribute CookieList deleted;
};

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;
};

[
  Exposed=(ServiceWorker,Window)
] interface CookieStore : EventTarget {
  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);

  attribute EventHandler onchange;
};

partial interface Window {
  [Replaceable, SameObject] readonly attribute CookieStore cookieStore;
};

partial interface ServiceWorkerGlobalScope {
  [Replaceable, SameObject] readonly attribute CookieStore cookieStore;
};
back to top