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); |