Index: content/browser/service_worker/service_worker_provider_host.h |
diff --git a/content/browser/service_worker/service_worker_provider_host.h b/content/browser/service_worker/service_worker_provider_host.h |
index 31f4a372b1bd7633651c8f160266267bbb26d3dd..fba49ad9ac06a7180481c3c77866dd8df67d2cf1 100644 |
--- a/content/browser/service_worker/service_worker_provider_host.h |
+++ b/content/browser/service_worker/service_worker_provider_host.h |
@@ -53,17 +53,19 @@ class CONTENT_EXPORT ServiceWorkerProviderHost |
return running_hosted_version_ != NULL; |
} |
- // The service worker version that corresponds with |
- // navigator.serviceWorker.active for our document. |
+ // Getters for the navigator.serviceWorker attribute values. |
+ ServiceWorkerVersion* controlling_version() const { |
+ return controlling_version_.get(); |
+ } |
ServiceWorkerVersion* active_version() const { |
return active_version_.get(); |
} |
- |
- // The service worker version that corresponds with |
- // navigate.serviceWorker.waiting for our document. |
ServiceWorkerVersion* waiting_version() const { |
return waiting_version_.get(); |
} |
+ ServiceWorkerVersion* installing_version() const { |
+ return installing_version_.get(); |
+ } |
// The running version, if any, that this provider is providing resource |
// loads for. |
@@ -74,11 +76,15 @@ class CONTENT_EXPORT ServiceWorkerProviderHost |
void SetDocumentUrl(const GURL& url); |
const GURL& document_url() const { return document_url_; } |
- // Associates |version| to this provider as its '.active' or '.waiting' |
- // version. |
- // Giving NULL to this method will unset the corresponding field. |
+ // Associates |version| to the corresponding field or if |version| is NULL |
+ // clears the field. |
void SetActiveVersion(ServiceWorkerVersion* version); |
void SetWaitingVersion(ServiceWorkerVersion* version); |
+ void SetInstallingVersion(ServiceWorkerVersion* version); |
+ |
+ // If |version| is the installing, waiting, or active version of this |
+ // provider, the method will reset that field to NULL. |
+ void UnsetVersion(ServiceWorkerVersion* version); |
// Returns false if the version is not in the expected STARTING in our |
// process state. That would be indicative of a bad IPC message. |
@@ -90,9 +96,8 @@ class CONTENT_EXPORT ServiceWorkerProviderHost |
ResourceType::Type resource_type, |
base::WeakPtr<webkit_blob::BlobStorageContext> blob_storage_context); |
- // Returns true if |version| has the same registration as active and waiting |
- // versions. |
- bool ValidateVersionForAssociation(ServiceWorkerVersion* version); |
+ // Returns true if |version| can be associated with this provider. |
+ bool CanAssociateVersion(ServiceWorkerVersion* version); |
// Returns true if the context referred to by this host (i.e. |context_|) is |
// still alive. |
@@ -111,8 +116,12 @@ class CONTENT_EXPORT ServiceWorkerProviderHost |
const int process_id_; |
const int provider_id_; |
GURL document_url_; |
+ |
+ // TODO(michaeln): controlling_version_ is not used yet. |
+ scoped_refptr<ServiceWorkerVersion> controlling_version_; |
scoped_refptr<ServiceWorkerVersion> active_version_; |
scoped_refptr<ServiceWorkerVersion> waiting_version_; |
+ scoped_refptr<ServiceWorkerVersion> installing_version_; |
scoped_refptr<ServiceWorkerVersion> running_hosted_version_; |
base::WeakPtr<ServiceWorkerContextCore> context_; |
ServiceWorkerDispatcherHost* dispatcher_host_; |