| Index: Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp
|
| diff --git a/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp b/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp
|
| index fca53dfd79bb8bcd49e3c88883c6e0786021bc9f..e0f70dea39c5bedc92aae0d4c0738851b9252639 100644
|
| --- a/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp
|
| +++ b/Source/modules/serviceworkers/ServiceWorkerContainerClient.cpp
|
| @@ -32,12 +32,14 @@ ServiceWorkerContainerClient* ServiceWorkerContainerClient::from(ExecutionContex
|
| {
|
| if (context->isDocument()) {
|
| Document* document = toDocument(context);
|
| + if (!document->frame())
|
| + return 0;
|
| +
|
| ServiceWorkerContainerClient* client = static_cast<ServiceWorkerContainerClient*>(Supplement<Page>::from(document->page(), supplementName()));
|
| if (client)
|
| return client;
|
|
|
| - // If it's not provided yet create it lazily.
|
| - ASSERT(document->frame());
|
| + // If it's not provided yet, create it lazily.
|
| document->page()->provideSupplement(ServiceWorkerContainerClient::supplementName(), ServiceWorkerContainerClient::create(document->frame()->loader().client()->createServiceWorkerProvider()));
|
| return static_cast<ServiceWorkerContainerClient*>(Supplement<Page>::from(document->page(), supplementName()));
|
| }
|
|
|