Chromium Code Reviews| Index: Source/web/ServiceWorkerGlobalScopeProxy.cpp |
| diff --git a/Source/web/ServiceWorkerGlobalScopeProxy.cpp b/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
| index 6b3513a7d5fa1fc44bff93e0b01799d74c2069b7..df99b45eac75a4b296ae44330adc2b6cddc64155 100644 |
| --- a/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
| +++ b/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
| @@ -51,7 +51,9 @@ |
| #include "modules/push_messaging/PushMessageData.h" |
| #include "modules/serviceworkers/ExtendableEvent.h" |
| #include "modules/serviceworkers/FetchEvent.h" |
| +#include "modules/serviceworkers/ServiceWorkerClient.h" |
| #include "modules/serviceworkers/ServiceWorkerGlobalScope.h" |
| +#include "modules/serviceworkers/ServiceWorkerWindowClient.h" |
| #include "modules/serviceworkers/WaitUntilObserver.h" |
| #include "platform/RuntimeEnabledFeatures.h" |
| #include "public/platform/WebCrossOriginServiceWorkerClient.h" |
| @@ -103,7 +105,13 @@ void ServiceWorkerGlobalScopeProxy::dispatchFetchEvent(int eventID, const WebSer |
| request->headers()->setGuard(Headers::ImmutableGuard); |
| FetchEventInit eventInit; |
| eventInit.setRequest(request); |
| - eventInit.setIsReload(webRequest.isReload()); |
| + if (webRequest.client().clientType == WebServiceWorkerClientTypeWindow) { |
| + eventInit.setClient(ServiceWorkerWindowClient::create(webRequest.client())); |
| + eventInit.setIsReload(webRequest.isReload()); |
| + } else { |
| + eventInit.setClient(ServiceWorkerClient::create(webRequest.client())); |
| + eventInit.setIsReload(false); |
|
jsbell
2015/05/05 17:45:42
Is this necessary, or will it default to false?
Paritosh Kumar
2015/05/06 11:42:36
Yes, default will be false only. Not necessary. Th
|
| + } |
| RefPtrWillBeRawPtr<FetchEvent> fetchEvent(FetchEvent::create(EventTypeNames::fetch, eventInit, observer)); |
| defaultPrevented = !m_workerGlobalScope->dispatchEvent(fetchEvent.release()); |
| observer->didDispatchEvent(defaultPrevented); |