зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1169210 - Can't call content service worker from chrome. r=nsm
--HG-- extra : rebase_source : a49c90113ea72dad97d70906479870c5b50f29ad
This commit is contained in:
Родитель
173c189653
Коммит
c5913f35b9
|
@ -1049,21 +1049,22 @@ ServiceWorkerManager::Register(nsIDOMWindow* aWindow,
|
|||
{
|
||||
AssertIsOnMainThread();
|
||||
|
||||
// XXXnsm Don't allow chrome callers for now, we don't support chrome
|
||||
// ServiceWorkers.
|
||||
MOZ_ASSERT(!nsContentUtils::IsCallerChrome());
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aWindow);
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> outerWindow = window->GetOuterWindow();
|
||||
bool serviceWorkersTestingEnabled =
|
||||
outerWindow->GetServiceWorkersTestingEnabled();
|
||||
MOZ_ASSERT(window);
|
||||
|
||||
nsCOMPtr<nsIDocument> doc = window->GetExtantDoc();
|
||||
if (!doc) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// Don't allow service workers to register when the *document* is chrome for
|
||||
// now.
|
||||
MOZ_ASSERT(!nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()));
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> outerWindow = window->GetOuterWindow();
|
||||
bool serviceWorkersTestingEnabled =
|
||||
outerWindow->GetServiceWorkersTestingEnabled();
|
||||
|
||||
nsCOMPtr<nsIURI> documentURI = doc->GetBaseURI();
|
||||
|
||||
bool authenticatedOrigin = false;
|
||||
|
@ -1474,15 +1475,18 @@ ServiceWorkerManager::GetRegistrations(nsIDOMWindow* aWindow,
|
|||
AssertIsOnMainThread();
|
||||
MOZ_ASSERT(aWindow);
|
||||
|
||||
// XXXnsm Don't allow chrome callers for now, we don't support chrome
|
||||
// ServiceWorkers.
|
||||
MOZ_ASSERT(!nsContentUtils::IsCallerChrome());
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aWindow);
|
||||
if (!window) {
|
||||
MOZ_ASSERT(window);
|
||||
|
||||
nsCOMPtr<nsIDocument> doc = window->GetExtantDoc();
|
||||
if (!doc) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// Don't allow service workers to register when the *document* is chrome for
|
||||
// now.
|
||||
MOZ_ASSERT(!nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()));
|
||||
|
||||
nsCOMPtr<nsIGlobalObject> sgo = do_QueryInterface(window);
|
||||
ErrorResult result;
|
||||
nsRefPtr<Promise> promise = Promise::Create(sgo, result);
|
||||
|
@ -1575,15 +1579,18 @@ ServiceWorkerManager::GetRegistration(nsIDOMWindow* aWindow,
|
|||
AssertIsOnMainThread();
|
||||
MOZ_ASSERT(aWindow);
|
||||
|
||||
// XXXnsm Don't allow chrome callers for now, we don't support chrome
|
||||
// ServiceWorkers.
|
||||
MOZ_ASSERT(!nsContentUtils::IsCallerChrome());
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aWindow);
|
||||
if (!window) {
|
||||
MOZ_ASSERT(window);
|
||||
|
||||
nsCOMPtr<nsIDocument> doc = window->GetExtantDoc();
|
||||
if (!doc) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// Don't allow service workers to register when the *document* is chrome for
|
||||
// now.
|
||||
MOZ_ASSERT(!nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()));
|
||||
|
||||
nsCOMPtr<nsIGlobalObject> sgo = do_QueryInterface(window);
|
||||
ErrorResult result;
|
||||
nsRefPtr<Promise> promise = Promise::Create(sgo, result);
|
||||
|
@ -1784,15 +1791,18 @@ ServiceWorkerManager::GetReadyPromise(nsIDOMWindow* aWindow,
|
|||
AssertIsOnMainThread();
|
||||
MOZ_ASSERT(aWindow);
|
||||
|
||||
// XXXnsm Don't allow chrome callers for now, we don't support chrome
|
||||
// ServiceWorkers.
|
||||
MOZ_ASSERT(!nsContentUtils::IsCallerChrome());
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aWindow);
|
||||
if (!window) {
|
||||
MOZ_ASSERT(window);
|
||||
|
||||
nsCOMPtr<nsIDocument> doc = window->GetExtantDoc();
|
||||
if (!doc) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// Don't allow service workers to register when the *document* is chrome for
|
||||
// now.
|
||||
MOZ_ASSERT(!nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()));
|
||||
|
||||
MOZ_ASSERT(!mPendingReadyPromises.Contains(window));
|
||||
|
||||
nsCOMPtr<nsIGlobalObject> sgo = do_QueryInterface(window);
|
||||
|
|
Загрузка…
Ссылка в новой задаче