Index: Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp |
diff --git a/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp b/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp |
index 43869698db63831fde47c937d250eac9368afed3..9047eb9fca4e0eeab49c9e67d14ee970a559b98c 100644 |
--- a/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp |
+++ b/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp |
@@ -44,6 +44,12 @@ ServiceWorkerContainerClient* ServiceWorkerContainerClient::from(ExecutionContex |
return static_cast<ServiceWorkerContainerClient*>(DocumentSupplement::from(document, supplementName())); |
} |
+ if (context->isServiceWorkerGlobalScope()) { |
+ ServiceWorkerContainerClient* client = static_cast<ServiceWorkerContainerClient*>(WillBeHeapSupplement<WorkerClients>::from(toWorkerGlobalScope(context)->clients(), supplementName())); |
+ ASSERT(client); |
+ return client; |
+ } |
+ |
ASSERT(context->isWorkerGlobalScope()); |
return static_cast<ServiceWorkerContainerClient*>(WillBeHeapSupplement<WorkerClients>::from(toWorkerGlobalScope(context)->clients(), supplementName())); |
} |