Chromium Code Reviews| Index: third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClient.cpp |
| diff --git a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClient.cpp b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClient.cpp |
| index 198f6e2afa25966372a7abc900bdd58a6a5852f6..6073a76456ce5f4dcaf3e5b02ce96516889f3740 100644 |
| --- a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClient.cpp |
| +++ b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClient.cpp |
| @@ -3,6 +3,7 @@ |
| // found in the LICENSE file. |
| #include "modules/serviceworkers/ServiceWorkerClient.h" |
| +#include "modules/serviceworkers/ServiceWorkerWindowClient.h" |
| #include "bindings/core/v8/CallbackPromiseAdapter.h" |
| #include "bindings/core/v8/ExceptionState.h" |
| @@ -14,6 +15,23 @@ |
| namespace blink { |
| +ServiceWorkerClient* ServiceWorkerClient::take(ScriptPromiseResolver*, PassOwnPtr<WebServiceWorkerClientInfo> webClient) |
| +{ |
| + if (!webClient) |
| + return nullptr; |
| + |
| + switch (webClient->clientType) { |
| + case WebServiceWorkerClientTypeWindow: |
| + return ServiceWorkerWindowClient::create(*webClient); |
| + case WebServiceWorkerClientTypeWorker: |
| + case WebServiceWorkerClientTypeSharedWorker: |
| + return ServiceWorkerClient::create(*webClient); |
| + case WebServiceWorkerClientTypeLast: |
| + ASSERT_NOT_REACHED(); |
| + return nullptr; |
| + } |
| +} |
|
zino
2016/02/17 18:38:14
I think we should return null or something even if
nhiroki
2016/02/18 01:40:27
Agree. IIRC, MSVC may complain if there is not 'de
jungkees
2016/02/18 15:02:20
This actually causes a compile time error in some
|
| + |
| ServiceWorkerClient* ServiceWorkerClient::create(const WebServiceWorkerClientInfo& info) |
| { |
| return new ServiceWorkerClient(info); |