#import #import #import #import // https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface [SecureContext, Exposed=(Window,Worker)] interface ServiceWorkerContainer : EventTarget { [FIXME] readonly attribute ServiceWorker? controller; [FIXME] readonly attribute Promise ready; // FIXME: [NewObject] Promise register((TrustedScriptURL or USVString) scriptURL, optional RegistrationOptions options = {}); [NewObject, ImplementedAs=register_] Promise register(USVString scriptURL, optional RegistrationOptions options = {}); [FIXME, NewObject] Promise<(ServiceWorkerRegistration or undefined)> getRegistration(optional USVString clientURL = ""); [FIXME, NewObject] Promise> getRegistrations(); [FIXME] undefined startMessages(); // events attribute EventHandler oncontrollerchange; attribute EventHandler onmessage; // event.source of message events is ServiceWorker object attribute EventHandler onmessageerror; }; dictionary RegistrationOptions { USVString scope; WorkerType type = "classic"; ServiceWorkerUpdateViaCache updateViaCache = "imports"; };