| Index: content/browser/service_worker/service_worker_url_job_wrapper.h
|
| diff --git a/content/browser/service_worker/service_worker_url_job_wrapper.h b/content/browser/service_worker/service_worker_url_job_wrapper.h
|
| index 36b86268fcc2d5123f420aaac62c3dc3e8f46bdb..645313c051299778e02230ac29b98d776b9021c6 100644
|
| --- a/content/browser/service_worker/service_worker_url_job_wrapper.h
|
| +++ b/content/browser/service_worker/service_worker_url_job_wrapper.h
|
| @@ -8,8 +8,10 @@
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "content/browser/loader/url_loader_request_handler.h"
|
| +#include "content/browser/service_worker/service_worker_fetch_dispatcher.h"
|
| #include "content/browser/service_worker/service_worker_response_type.h"
|
| #include "content/browser/service_worker/service_worker_url_request_job.h"
|
| +#include "storage/browser/blob/blob_reader.h"
|
|
|
| namespace content {
|
|
|
| @@ -20,6 +22,14 @@ namespace content {
|
| // callback for URLLoaderFactory and forwards to the underlying implementation.
|
| class ServiceWorkerURLJobWrapper {
|
| public:
|
| + class Delegate {
|
| + public:
|
| + virtual ~Delegate() {}
|
| +
|
| + virtual ServiceWorkerVersion* GetServiceWorkerVersion(
|
| + ServiceWorkerMetrics::URLRequestJobResult* result) = 0;
|
| + };
|
| +
|
| // Non-network service case.
|
| explicit ServiceWorkerURLJobWrapper(
|
| base::WeakPtr<ServiceWorkerURLRequestJob> url_request_job);
|
| @@ -27,7 +37,10 @@ class ServiceWorkerURLJobWrapper {
|
| // With --enable-network-service.
|
| // TODO(kinuko): Implement this as a separate job class rather
|
| // than in a wrapper.
|
| - ServiceWorkerURLJobWrapper(LoaderFactoryCallback loader_factory_callback);
|
| + ServiceWorkerURLJobWrapper(
|
| + LoaderFactoryCallback loader_factory_callback,
|
| + Delegate* delegate,
|
| + base::WeakPtr<storage::BlobStorageContext> blob_storage_context);
|
|
|
| ~ServiceWorkerURLJobWrapper();
|
|
|
| @@ -60,8 +73,8 @@ class ServiceWorkerURLJobWrapper {
|
| enum class JobType { kURLRequest, kURLLoader };
|
|
|
| // Used only for URLLoader case.
|
| - // TODO(kinuko): Implement this in a separate job class rather
|
| - // than in a wrapper.
|
| + // For FORWARD_TO_SERVICE_WORKER case.
|
| + class Factory;
|
| void StartRequest();
|
|
|
| JobType job_type_;
|
| @@ -71,6 +84,10 @@ class ServiceWorkerURLJobWrapper {
|
|
|
| base::WeakPtr<ServiceWorkerURLRequestJob> url_request_job_;
|
|
|
| + Delegate* delegate_;
|
| + std::unique_ptr<Factory> factory_;
|
| + base::WeakPtr<storage::BlobStorageContext> blob_storage_context_;
|
| +
|
| base::WeakPtrFactory<ServiceWorkerURLJobWrapper> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ServiceWorkerURLJobWrapper);
|
|
|