*/
// https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#service-worker-interface
+
+enum ServiceWorkerState {
+ "installing",
+ "installed",
+ "activating",
+ "activated",
+ "redundant"
+};
+
[
ActiveDOMObject,
- RuntimeEnabled=ServiceWorker
+ RuntimeEnabled=ServiceWorker,
+ WillBeGarbageCollected
] interface ServiceWorker : EventTarget {
// FIXME: Should inherit this from Worker.
- [Custom, RaisesException] void postMessage(SerializedScriptValue message, optional MessagePort[] messagePorts);
+ [Custom, RaisesException] void postMessage(SerializedScriptValue message, optional sequence<Transferable> transfer);
+
+ readonly attribute ScalarValueString scriptURL;
+ readonly attribute ServiceWorkerState state;
- readonly attribute ScalarValueString scope;
- readonly attribute ScalarValueString url;
- // FIXME: Should be ServiceWorkerState enum, not DOMString.
- readonly attribute DOMString state;
attribute EventHandler onstatechange;
};