| Index: content/child/service_worker/service_worker_dispatcher.h
|
| diff --git a/content/child/service_worker/service_worker_dispatcher.h b/content/child/service_worker/service_worker_dispatcher.h
|
| index 80ae40aba44832cde45e66ad42ecb62b8970f385..742c4d7ee19dd7a49de9d19fc73a30395ba4186f 100644
|
| --- a/content/child/service_worker/service_worker_dispatcher.h
|
| +++ b/content/child/service_worker/service_worker_dispatcher.h
|
| @@ -47,6 +47,9 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| typedef
|
| blink::WebServiceWorkerProvider::WebServiceWorkerUnregistrationCallbacks
|
| WebServiceWorkerUnregistrationCallbacks;
|
| + typedef
|
| + blink::WebServiceWorkerProvider::WebServiceWorkerGetRegistrationCallbacks
|
| + WebServiceWorkerGetRegistrationCallbacks;
|
|
|
| explicit ServiceWorkerDispatcher(ThreadSafeSender* thread_safe_sender);
|
| virtual ~ServiceWorkerDispatcher();
|
| @@ -65,6 +68,11 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| int provider_id,
|
| const GURL& pattern,
|
| WebServiceWorkerUnregistrationCallbacks* callbacks);
|
| + // Corresponds to navigator.serviceWorker.getRegistration()
|
| + void GetRegistration(
|
| + int provider_id,
|
| + const GURL& document_url,
|
| + WebServiceWorkerRegistrationCallbacks* callbacks);
|
|
|
| // Called when a new provider context for a document is created. Usually
|
| // this happens when a new document is being loaded, and is called much
|
| @@ -126,6 +134,8 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| IDMapOwnPointer> RegistrationCallbackMap;
|
| typedef IDMap<WebServiceWorkerUnregistrationCallbacks,
|
| IDMapOwnPointer> UnregistrationCallbackMap;
|
| + typedef IDMap<WebServiceWorkerGetRegistrationCallbacks,
|
| + IDMapOwnPointer> GetRegistrationCallbackMap;
|
| typedef std::map<int, blink::WebServiceWorkerProviderClient*> ScriptClientMap;
|
| typedef std::map<int, ServiceWorkerProviderContext*> ProviderContextMap;
|
| typedef std::map<int, WebServiceWorkerImpl*> WorkerObjectMap;
|
| @@ -152,6 +162,10 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| void OnUnregistered(int thread_id,
|
| int request_id,
|
| bool is_success);
|
| + void OnDidGetRegistration(int thread_id,
|
| + int request_id,
|
| + const ServiceWorkerRegistrationObjectInfo& info,
|
| + const ServiceWorkerVersionAttributes& attrs);
|
| void OnRegistrationError(int thread_id,
|
| int request_id,
|
| blink::WebServiceWorkerError::ErrorType error_type,
|
| @@ -160,6 +174,11 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| int request_id,
|
| blink::WebServiceWorkerError::ErrorType error_type,
|
| const base::string16& message);
|
| + void OnGetRegistrationError(
|
| + int thread_id,
|
| + int request_id,
|
| + blink::WebServiceWorkerError::ErrorType error_type,
|
| + const base::string16& message);
|
| void OnServiceWorkerStateChanged(int thread_id,
|
| int handle_id,
|
| blink::WebServiceWorkerState state);
|
| @@ -206,8 +225,13 @@ class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
|
| void RemoveServiceWorkerRegistration(
|
| int registration_handle_id);
|
|
|
| + WebServiceWorkerRegistrationImpl* FindOrCreateRegistration(
|
| + const ServiceWorkerRegistrationObjectInfo& info,
|
| + const ServiceWorkerVersionAttributes& attrs);
|
| +
|
| RegistrationCallbackMap pending_registration_callbacks_;
|
| UnregistrationCallbackMap pending_unregistration_callbacks_;
|
| + GetRegistrationCallbackMap pending_get_registration_callbacks_;
|
| ScriptClientMap script_clients_;
|
| ProviderContextMap provider_contexts_;
|
| WorkerObjectMap service_workers_;
|
|
|