mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1025082 - ServiceWorker related WebIDL changes. r=ehsan,jst
--HG-- extra : amend_source : c8d89097ddfb423ba2eb39beb469c48b69944a89
This commit is contained in:
parent
0324bd5749
commit
22eb6b83af
@ -1945,8 +1945,8 @@ GK_ATOM(onratechange, "onratechange")
|
||||
GK_ATOM(ondurationchange, "ondurationchange")
|
||||
GK_ATOM(onvolumechange, "onvolumechange")
|
||||
GK_ATOM(onaddtrack, "onaddtrack")
|
||||
GK_ATOM(oncontrollerchange, "oncontrollerchange")
|
||||
GK_ATOM(oncuechange, "oncuechange")
|
||||
GK_ATOM(oncurrentchange, "oncurrentchange")
|
||||
GK_ATOM(onenter, "onenter")
|
||||
GK_ATOM(onexit, "onexit")
|
||||
GK_ATOM(onneedkey, "onneedkey")
|
||||
|
@ -22,7 +22,6 @@ interface ServiceWorker : EventTarget {
|
||||
ServiceWorker implements AbstractWorker;
|
||||
|
||||
enum ServiceWorkerState {
|
||||
"parsed",
|
||||
"installing",
|
||||
"installed",
|
||||
"activating",
|
||||
|
@ -15,23 +15,26 @@ interface ServiceWorkerContainer {
|
||||
// and discussion at https://etherpad.mozilla.org/serviceworker07apr
|
||||
[Unforgeable] readonly attribute ServiceWorker? installing;
|
||||
[Unforgeable] readonly attribute ServiceWorker? waiting;
|
||||
[Unforgeable] readonly attribute ServiceWorker? current;
|
||||
[Unforgeable] readonly attribute ServiceWorker? active;
|
||||
[Unforgeable] readonly attribute ServiceWorker? controller;
|
||||
|
||||
// Promise<ServiceWorker>
|
||||
readonly attribute Promise ready;
|
||||
|
||||
// Promise<sequence<ServiceWorker>?>
|
||||
[Throws]
|
||||
Promise getAll();
|
||||
|
||||
// Promise<ServiceWorker>
|
||||
[Throws]
|
||||
Promise register(DOMString url, optional RegistrationOptionList options);
|
||||
|
||||
// Promise<any>
|
||||
[Throws]
|
||||
Promise unregister(DOMString? scope);
|
||||
|
||||
// Promise<ServiceWorker>
|
||||
[Throws]
|
||||
Promise whenReady();
|
||||
|
||||
attribute EventHandler onupdatefound;
|
||||
attribute EventHandler oncurrentchange;
|
||||
attribute EventHandler oncontrollerchange;
|
||||
attribute EventHandler onreloadpage;
|
||||
attribute EventHandler onerror;
|
||||
};
|
||||
@ -46,5 +49,5 @@ partial interface ServiceWorkerContainer {
|
||||
};
|
||||
|
||||
dictionary RegistrationOptionList {
|
||||
DOMString scope = "*";
|
||||
DOMString scope = "/*";
|
||||
};
|
||||
|
@ -2100,9 +2100,6 @@ RuntimeService::CreateServiceWorker(const GlobalObject& aGlobal,
|
||||
nsRefPtr<ServiceWorker> serviceWorker =
|
||||
new ServiceWorker(window, sharedWorker);
|
||||
|
||||
// While it hasn't been parsed, the intention is to only expose ServiceWorkers
|
||||
// to content after it has indeed been parsed.
|
||||
serviceWorker->mState = ServiceWorkerState::Parsed;
|
||||
serviceWorker->mURL = aScriptURL;
|
||||
serviceWorker->mScope = NS_ConvertUTF8toUTF16(aScope);
|
||||
|
||||
|
@ -97,7 +97,14 @@ ServiceWorkerContainer::GetWaiting()
|
||||
}
|
||||
|
||||
already_AddRefed<workers::ServiceWorker>
|
||||
ServiceWorkerContainer::GetCurrent()
|
||||
ServiceWorkerContainer::GetActive()
|
||||
{
|
||||
// FIXME(nsm): Bug 1002570
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
already_AddRefed<workers::ServiceWorker>
|
||||
ServiceWorkerContainer::GetController()
|
||||
{
|
||||
// FIXME(nsm): Bug 1002570
|
||||
return nullptr;
|
||||
@ -112,11 +119,12 @@ ServiceWorkerContainer::GetAll(ErrorResult& aRv)
|
||||
}
|
||||
|
||||
already_AddRefed<Promise>
|
||||
ServiceWorkerContainer::WhenReady(ErrorResult& aRv)
|
||||
ServiceWorkerContainer::Ready()
|
||||
{
|
||||
// FIXME(nsm): Bug 984048
|
||||
aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR);
|
||||
return nullptr;
|
||||
// FIXME(nsm): Bug 1025077
|
||||
nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(mWindow);
|
||||
nsRefPtr<Promise> promise = new Promise(global);
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
// Testing only.
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(ServiceWorkerContainer, DOMEventTargetHelper)
|
||||
|
||||
IMPL_EVENT_HANDLER(updatefound)
|
||||
IMPL_EVENT_HANDLER(currentchange)
|
||||
IMPL_EVENT_HANDLER(controllerchange)
|
||||
IMPL_EVENT_HANDLER(reloadpage)
|
||||
IMPL_EVENT_HANDLER(error)
|
||||
|
||||
@ -64,13 +64,16 @@ public:
|
||||
GetWaiting();
|
||||
|
||||
already_AddRefed<ServiceWorker>
|
||||
GetCurrent();
|
||||
GetActive();
|
||||
|
||||
already_AddRefed<ServiceWorker>
|
||||
GetController();
|
||||
|
||||
already_AddRefed<Promise>
|
||||
GetAll(ErrorResult& aRv);
|
||||
|
||||
already_AddRefed<Promise>
|
||||
WhenReady(ErrorResult& aRv);
|
||||
Ready();
|
||||
|
||||
// Testing only.
|
||||
already_AddRefed<Promise>
|
||||
|
@ -20,10 +20,11 @@
|
||||
ok(typeof navigator.serviceWorker.register === "function", "navigator.serviceWorker.register() should be a function.");
|
||||
ok(typeof navigator.serviceWorker.unregister === "function", "navigator.serviceWorker.unregister() should be a function.");
|
||||
ok(typeof navigator.serviceWorker.getAll === "function", "navigator.serviceWorker.getAll() should be a function.");
|
||||
ok(typeof navigator.serviceWorker.whenReady === "function", "navigator.serviceWorker.whenReady() should be a function.");
|
||||
ok(navigator.serviceWorker.installing === null, "There should be no installing worker for an uncontrolled document.");
|
||||
ok(navigator.serviceWorker.waiting === null, "There should be no waiting worker for an uncontrolled document.");
|
||||
ok(navigator.serviceWorker.current === null, "There should be no current worker for an uncontrolled document.");
|
||||
ok(navigator.serviceWorker.ready instanceof Promise, "navigator.serviceWorker.ready should be a Promise.");
|
||||
ok(navigator.serviceWorker.installing === null, "There should be no installing worker for an uncontrolled scope.");
|
||||
ok(navigator.serviceWorker.waiting === null, "There should be no waiting worker for an uncontrolled scope.");
|
||||
ok(navigator.serviceWorker.active === null, "There should be no active worker for an uncontrolled scope.");
|
||||
ok(navigator.serviceWorker.controller === null, "There should be no active worker for an uncontrolled document.");
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
Loading…
Reference in New Issue
Block a user