| <!DOCTYPE html> |
| <html> |
| <title>Service Workers: ServiceWorker</title> |
| <head> |
| <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#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> |
| |