Chromium Code Reviews| Index: content/browser/service_worker/service_worker_provider_host.cc |
| diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc |
| index df789a354bedeef7ad258e3841d33cab0ae12a79..ce531535b22bc36c98ea1735e28e03740cd724d6 100644 |
| --- a/content/browser/service_worker/service_worker_provider_host.cc |
| +++ b/content/browser/service_worker/service_worker_provider_host.cc |
| @@ -6,6 +6,8 @@ |
| #include "base/stl_util.h" |
| #include "content/browser/service_worker/service_worker_context_core.h" |
| +#include "content/browser/service_worker/service_worker_context_request_handler.h" |
| +#include "content/browser/service_worker/service_worker_controllee_request_handler.h" |
| #include "content/browser/service_worker/service_worker_dispatcher_host.h" |
| #include "content/browser/service_worker/service_worker_handle.h" |
| #include "content/browser/service_worker/service_worker_utils.h" |
| @@ -113,19 +115,21 @@ bool ServiceWorkerProviderHost::SetHostedVersionId(int64 version_id) { |
| return true; |
| } |
| -bool ServiceWorkerProviderHost::ShouldHandleRequest( |
| - ResourceType::Type resource_type) const { |
| - if (ServiceWorkerUtils::IsMainResourceType(resource_type)) |
| - return true; |
| - |
| - if (active_version()) |
| - return true; |
| - |
| - // TODO(kinuko): Handle ServiceWorker cases. |
| - // For now we always return false here, so that we don't handle |
| - // requests for ServiceWorker (either for the main or sub resources). |
| - |
| - return false; |
| +scoped_ptr<ServiceWorkerRequestHandler> |
| +ServiceWorkerProviderHost::CreateRequestHandler( |
| + ResourceType::Type resource_type) { |
| + if (hosted_version_) { |
|
jsbell
2014/04/24 21:22:24
Whoah, just cluing into the fact that ServiceWorke
michaeln
2014/04/24 21:49:17
Good idea, I'll do both in this CL.
michaeln
2014/04/24 21:59:18
Having a bit of a hard time with terminology, hows
|
| + return scoped_ptr<ServiceWorkerRequestHandler>( |
| + new ServiceWorkerContextRequestHandler( |
| + context_, AsWeakPtr(), resource_type)); |
| + } |
| + if (ServiceWorkerUtils::IsMainResourceType(resource_type) || |
| + active_version()) { |
| + return scoped_ptr<ServiceWorkerRequestHandler>( |
| + new ServiceWorkerControlleeRequestHandler( |
| + context_, AsWeakPtr(), resource_type)); |
| + } |
| + return scoped_ptr<ServiceWorkerRequestHandler>(); |
| } |
| } // namespace content |