blob: c11feaca4c832bb90562868a6d78d4ac0ee017fc [file] [log] [blame]
<!DOCTYPE html>
<title>Service Workers: ServiceWorkerGlobalScope</title>
<link rel="help" href="">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
<script type=text/plain id="idl_0">
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
readonly attribute CacheStorage caches;
// A container for a list of window objects, identifiable by ID, that
// correspond to windows (or workers) that are "controlled" by this SW
readonly attribute ServiceWorkerClients clients;
[Unforgeable] readonly attribute DOMString scope;
Promise<any> fetch((Request or ScalarValueString) request);
void update();
void unregister();
attribute EventHandler oninstall;
attribute EventHandler onactivate;
attribute EventHandler onfetch;
attribute EventHandler onbeforeevicted;
attribute EventHandler onevicted;
// The event.source of these MessageEvents are instances of Client
attribute EventHandler onmessage;
// close() method inherited from WorkerGlobalScope is not exposed.
The `ServiceWorkerGlobalScope` interface represents the global execution
context of a Service Worker. `ServiceWorkerGlobalScope` object provides
generic, event-driven, time-limited script execution contexts that run at an
origin. Once successfully [registered][1], a Service Worker is started, kept
alive and killed by their relationship to events, not documents. Any type of
synchronous requests MUST NOT be initiated inside of a Service Worker.
[1]: #navigator-service-worker-register
<script type=text/plain id="untested_idls">
interface CacheStorage {};
interface ServiceWorkerClients {};
interface Request {};
interface ScalarValueString {};
interface EventHandler {};
interface WorkerGlobalScope {};
var idl_array = new IdlArray();
ServiceWorkerGlobalScope: ["throw new Error ('No object defined for the ServiceWorkerGlobalScope interface')"]