mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Bug 1469882 Don't consult child process ServiceWorkerManager when populating MessageEvent.source with the e10s pref flipped. r=mrbkap
This commit is contained in:
parent
06ae64dde8
commit
9258565483
@ -611,21 +611,29 @@ ClientSource::PostMessage(const ClientPostMessageArgs& aArgs)
|
|||||||
CopyUTF8toUTF16(origin, init.mOrigin);
|
CopyUTF8toUTF16(origin, init.mOrigin);
|
||||||
}
|
}
|
||||||
|
|
||||||
RefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
|
RefPtr<ServiceWorker> instance;
|
||||||
if (!swm) {
|
|
||||||
// Shutting down. Just don't deliver this message.
|
if (ServiceWorkerParentInterceptEnabled()) {
|
||||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
instance = globalObject->GetOrCreateServiceWorker(source);
|
||||||
return ref.forget();
|
} else {
|
||||||
|
// If we are in legacy child-side intercept mode then we need to verify
|
||||||
|
// this registration exists in the current process.
|
||||||
|
RefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
|
||||||
|
if (!swm) {
|
||||||
|
// Shutting down. Just don't deliver this message.
|
||||||
|
ref = ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||||
|
return ref.forget();
|
||||||
|
}
|
||||||
|
|
||||||
|
RefPtr<ServiceWorkerRegistrationInfo> reg =
|
||||||
|
swm->GetRegistration(principal, source.Scope());
|
||||||
|
if (reg) {
|
||||||
|
instance = globalObject->GetOrCreateServiceWorker(source);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RefPtr<ServiceWorkerRegistrationInfo> reg =
|
if (instance) {
|
||||||
swm->GetRegistration(principal, source.Scope());
|
init.mSource.SetValue().SetAsServiceWorker() = instance;
|
||||||
if (reg) {
|
|
||||||
RefPtr<ServiceWorker> instance =
|
|
||||||
globalObject->GetOrCreateServiceWorker(source);
|
|
||||||
if (instance) {
|
|
||||||
init.mSource.SetValue().SetAsServiceWorker() = instance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RefPtr<MessageEvent> event =
|
RefPtr<MessageEvent> event =
|
||||||
|
Loading…
Reference in New Issue
Block a user