Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js

Issue 2933913002: Upstream service worker prototype test to WPT
Patch Set: Migrate test for immutable prototype Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js
new file mode 100644
index 0000000000000000000000000000000000000000..9d0b4f18efeb74aef75073cb4b8d91cc139e3a57
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js
@@ -0,0 +1,130 @@
+var idls = {};
+idls.untested = `
+[Exposed=Worker]
+interface WorkerGlobalScope {};
+
+[TreatNonObjectAsNull]
+callback EventHandlerNonNull = any (Event event);
+typedef EventHandlerNonNull? EventHandler;
+
+[NoInterfaceObject, Exposed=(Window,Worker)]
+interface AbstractWorker {
+ attribute EventHandler onerror;
+};
+`;
+idls.tested = `
+[Global=(Worker,ServiceWorker), Exposed=ServiceWorker]
+interface ServiceWorkerGlobalScope : WorkerGlobalScope {
+ [SameObject] readonly attribute Clients clients;
+ [SameObject] readonly attribute ServiceWorkerRegistration registration;
+
+ [NewObject] Promise<void> skipWaiting();
+
+ attribute EventHandler oninstall;
+ attribute EventHandler onactivate;
+ attribute EventHandler onfetch;
+ attribute EventHandler onforeignfetch;
+
+ // event
+ attribute EventHandler onmessage; // event.source of the message events is Client object
+ attribute EventHandler onmessageerror;
+};
+
+[Exposed=ServiceWorker]
+interface Client {
+ readonly attribute USVString url;
+ readonly attribute DOMString id;
+ readonly attribute ClientType type;
+ readonly attribute boolean reserved;
+ void postMessage(any message, optional sequence<object> transfer = []);
+};
+
+[Exposed=ServiceWorker]
+interface WindowClient : Client {
+ readonly attribute VisibilityState visibilityState;
+ readonly attribute boolean focused;
+ [SameObject] readonly attribute FrozenArray<USVString> ancestorOrigins;
+ [NewObject] Promise<WindowClient> focus();
+ [NewObject] Promise<WindowClient> navigate(USVString url);
+};
+
+[Exposed=ServiceWorker]
+interface Clients {
+ // The objects returned will be new instances every time
+ [NewObject] Promise<any> get(DOMString id);
+ [NewObject] Promise<sequence<Client>> matchAll(optional ClientQueryOptions options);
+ [NewObject] Promise<WindowClient?> openWindow(USVString url);
+ [NewObject] Promise<void> claim();
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface ServiceWorker : EventTarget {
+ readonly attribute USVString scriptURL;
+ readonly attribute ServiceWorkerState state;
+ void postMessage(any message, optional sequence<object> transfer = []);
+
+ // event
+ attribute EventHandler onstatechange;
+};
+ServiceWorker implements AbstractWorker;
+
+enum ServiceWorkerState {
+ "installing",
+ "installed",
+ "activating",
+ "activated",
+ "redundant"
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface ServiceWorkerRegistration : EventTarget {
+ readonly attribute ServiceWorker? installing;
+ readonly attribute ServiceWorker? waiting;
+ readonly attribute ServiceWorker? active;
+ [SameObject] readonly attribute NavigationPreloadManager navigationPreload;
+
+ readonly attribute USVString scope;
+ readonly attribute ServiceWorkerUpdateViaCache updateViaCache;
+
+ [NewObject] Promise<void> update();
+ [NewObject] Promise<boolean> unregister();
+
+ // event
+ attribute EventHandler onupdatefound;
+};
+
+[Exposed=(Window,Worker)]
+interface EventTarget {
+ void addEventListener(DOMString type, EventListener? callback, optional (AddEventListenerOptions or boolean) options);
+ void removeEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options);
+ boolean dispatchEvent(Event event);
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface NavigationPreloadManager {
+ Promise<void> enable();
+ Promise<void> disable();
+ Promise<void> setHeaderValue(ByteString value);
+ Promise<NavigationPreloadState> getState();
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface Cache {
+ [NewObject] Promise<any> match(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject] Promise<sequence<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options);
+ [NewObject] Promise<void> add(RequestInfo request);
+ [NewObject] Promise<void> addAll(sequence<RequestInfo> requests);
+ [NewObject] Promise<void> put(RequestInfo request, Response response);
+ [NewObject] Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject] Promise<sequence<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options);
+};
+
+[SecureContext, Exposed=(Window,Worker)]
+interface CacheStorage {
+ [NewObject] Promise<any> match(RequestInfo request, optional CacheQueryOptions options);
+ [NewObject] Promise<boolean> has(DOMString cacheName);
+ [NewObject] Promise<Cache> open(DOMString cacheName);
+ [NewObject] Promise<boolean> delete(DOMString cacheName);
+ [NewObject] Promise<sequence<DOMString>> keys();
+};
+`;

Powered by Google App Engine
This is Rietveld 408576698