<!DOCTYPE html> <html> <title>Service Workers: ServiceWorker</title> <head> <link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-obj"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src=/resources/WebIDLParser.js></script> <script src=/resources/idlharness.js></script> </head> <body> <script type=text/plain id="idl_0"> [Constructor()] // no-op constructor interface ServiceWorker : Worker { readonly attribute DOMString scope; readonly attribute DOMString url; readonly attribute ServiceWorkerState state; // event attribute EventHandler onstatechange; }; enum ServiceWorkerState { "installing", "installed", "activating", "activated", "redundant" }; </pre> <!-- The `ServiceWorker` interface represents the document-side view of a Service Worker. This object provides a no-op constructor. Callers should note that only `ServiceWorker` objects created by the user agent (see `navigator.serviceWorker.installing`, `navigator.serviceWorker.waiting`, `navigator.serviceWorker.active` and `navigator.serviceWorker.controller`) will provide meaningful functionality. --> <script type=text/plain id="untested_idls"> interface EventHandler {}; interface Worker {}; </pre> <script> var idl_array = new IdlArray(); idl_array.add_untested_idls(document.getElementById("untested_idls").textContent); idl_array.add_idls(document.getElementById("idl_0").textContent); idl_array.add_objects({ ServiceWorker: ["throw new Error ('No object defined for the ServiceWorker interface')"], ServiceWorkerState: ["throw new Error ('No object defined for the ServiceWorkerState enum')"] }); idl_array.test(); </script> </body> </html>