Chromium Code Reviews| 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; |
| +}; |
| +`; |
|
falken
2017/06/13 06:03:43
how do you decide what to put in idls.untested?
|
| +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(); |
| +}; |
| +`; |
|
falken
2017/06/13 06:03:43
Do you get idls.tested by copying everything from
|