Index: content/browser/service_worker/service_worker_version.h |
diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h |
index ef267112f83f15932416276a09f650c3d7924f25..28009df0690e315018786aed687846f286feb9aa 100644 |
--- a/content/browser/service_worker/service_worker_version.h |
+++ b/content/browser/service_worker/service_worker_version.h |
@@ -304,6 +304,13 @@ class CONTENT_EXPORT ServiceWorkerVersion |
return controllee_map_; |
} |
+ // The provider host hosting this version. Only valid while the version is |
+ // running. |
+ ServiceWorkerProviderHost* provider_host() { |
+ DCHECK(provider_host_); |
+ return provider_host_.get(); |
+ } |
+ |
base::WeakPtr<ServiceWorkerContextCore> context() const { return context_; } |
// Adds and removes |request_job| as a dependent job not to stop the |
@@ -733,6 +740,11 @@ class CONTENT_EXPORT ServiceWorkerVersion |
std::set<const ServiceWorkerURLRequestJob*> streaming_url_request_jobs_; |
+ // Keeps track of the provider hosting this running service worker for this |
+ // version. |provider_host_| is always valid as long as this version is |
+ // running. |
+ base::WeakPtr<ServiceWorkerProviderHost> provider_host_; |
+ |
std::map<std::string, ServiceWorkerProviderHost*> controllee_map_; |
// Will be null while shutting down. |
base::WeakPtr<ServiceWorkerContextCore> context_; |