| 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..aa874ae10be08a344556508a7b1b6874c124a814 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"
|
| @@ -109,23 +111,25 @@ bool ServiceWorkerProviderHost::SetHostedVersionId(int64 version_id) {
|
| return false;
|
| }
|
|
|
| - hosted_version_ = live_version;
|
| + running_hosted_version_ = live_version;
|
| 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 (IsHostToRunningServiceWorker()) {
|
| + 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
|
|
|