blob: 588720e07546fe97825f9bbd0c098422e35472f2 [file] [log] [blame]
<!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>