Index: Source/modules/serviceworkers/ServiceWorker.cpp |
diff --git a/Source/modules/serviceworkers/ServiceWorker.cpp b/Source/modules/serviceworkers/ServiceWorker.cpp |
index 5d86c5a7fe093cbe0bd36555c2f0806384e31cf4..25e449d44977d6fac532b0ad79f381041c8355ee 100644 |
--- a/Source/modules/serviceworkers/ServiceWorker.cpp |
+++ b/Source/modules/serviceworkers/ServiceWorker.cpp |
@@ -158,7 +158,8 @@ PassRefPtrWillBeRawPtr<ServiceWorker> ServiceWorker::from(ScriptPromiseResolver* |
{ |
RefPtrWillBeRawPtr<ServiceWorker> serviceWorker = ServiceWorker::from(resolver->scriptState()->executionContext(), worker); |
ScriptState::Scope scope(resolver->scriptState()); |
- serviceWorker->waitOnPromise(resolver->promise()); |
+ if (serviceWorker->m_proxyState == Initial) |
+ serviceWorker->waitOnPromise(resolver->promise()); |
return serviceWorker; |
} |