| 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 b5de3f202dba8db5d60cf5dcc46960d63593ca54..f2ed389537b99cbe513b74dd77380e354a832b68 100644
|
| --- a/content/browser/service_worker/service_worker_provider_host.h
|
| +++ b/content/browser/service_worker/service_worker_provider_host.h
|
| @@ -58,23 +58,17 @@ class WebContents;
|
| // For providers hosting a running service worker, this class will observe
|
| // resource loads made directly by the service worker.
|
| //
|
| -// A ServiceWorkerProviderHost is created in the following situations:
|
| -// 1) When it's for a document or worker (i.e., a service
|
| -// worker client), the provider host is created when
|
| -// ServiceWorkerNetworkProvider is created on the renderer process. Mojo's
|
| -// connection from ServiceWorkerNetworkProvider is established on the creation
|
| -// time.
|
| -// 2) When it's for a running service worker, the provider host is created on
|
| -// the browser process before launching the service worker's thread. Mojo's
|
| -// connection to the renderer is established with the StartWorker message.
|
| -// 3) When PlzNavigate is turned on, an instance is pre-created on the browser
|
| +// A ServiceWorkerProviderHost instance is created when a
|
| +// ServiceWorkerNetworkProvider is created on the renderer process, which
|
| +// happens 1) when a document or worker (i.e., a service worker client) is
|
| +// created, or 2) during service worker startup. Mojo's connection from
|
| +// ServiceWorkerNetworkProvider is established on the creation time, and the
|
| +// instance is destroyed on disconnection from the renderer side.
|
| +// If PlzNavigate is turned on, an instance is pre-created on the browser
|
| // before ServiceWorkerNetworkProvider is created on the renderer because
|
| // navigation is initiated on the browser side. In that case, establishment of
|
| // Mojo's connection will be deferred until ServiceWorkerNetworkProvider is
|
| // created on the renderer.
|
| -// Destruction of the ServiceWorkerProviderHost instance happens on
|
| -// disconnection of the Mojo's pipe from the renderer side regardless of what
|
| -// the provider is for.
|
| class CONTENT_EXPORT ServiceWorkerProviderHost
|
| : public NON_EXPORTED_BASE(ServiceWorkerRegistration::Listener),
|
| public base::SupportsWeakPtr<ServiceWorkerProviderHost>,
|
| @@ -97,12 +91,6 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| bool are_ancestors_secure,
|
| const WebContentsGetter& web_contents_getter);
|
|
|
| - // Creates a ServiceWorkerProviderHost for hosting a running service worker.
|
| - // Information about this provider host is passed down to the service worker
|
| - // via StartWorker message.
|
| - static std::unique_ptr<ServiceWorkerProviderHost> PreCreateForController(
|
| - base::WeakPtr<ServiceWorkerContextCore> context);
|
| -
|
| // Used to create a ServiceWorkerProviderHost when the renderer-side provider
|
| // is created. This ProviderHost will be created for the process specified by
|
| // |process_id|.
|
| @@ -212,6 +200,8 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| // Clears the associated registration and stop listening to it.
|
| void DisassociateRegistration();
|
|
|
| + void SetHostedVersion(ServiceWorkerVersion* version);
|
| +
|
| // Returns a handler for a request, the handler may return NULL if
|
| // the request doesn't require special handling.
|
| std::unique_ptr<ServiceWorkerRequestHandler> CreateRequestHandler(
|
| @@ -280,16 +270,6 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| ServiceWorkerProviderHostInfo info,
|
| ServiceWorkerDispatcherHost* dispatcher_host);
|
|
|
| - // Completes initialization of provider hosts for controllers and returns the
|
| - // value to create ServiceWorkerNetworkProvider on the renderer which will be
|
| - // connected to this instance.
|
| - // This instance will keep the reference to |hosted_version|, so please be
|
| - // careful not to create a reference cycle.
|
| - mojom::ServiceWorkerProviderInfoForStartWorkerPtr
|
| - CompleteStartWorkerPreparation(
|
| - int process_id,
|
| - scoped_refptr<ServiceWorkerVersion> hosted_version);
|
| -
|
| // Sends event messages to the renderer. Events for the worker are queued up
|
| // until the worker thread id is known via SetReadyToSendMessagesToWorker().
|
| void SendUpdateFoundMessage(
|
| @@ -325,12 +305,6 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| void BindWorkerFetchContext(
|
| mojom::ServiceWorkerWorkerClientAssociatedPtrInfo client_ptr_info);
|
|
|
| - protected:
|
| - ServiceWorkerProviderHost(int process_id,
|
| - ServiceWorkerProviderHostInfo info,
|
| - base::WeakPtr<ServiceWorkerContextCore> context,
|
| - ServiceWorkerDispatcherHost* dispatcher_host);
|
| -
|
| private:
|
| friend class ForeignFetchRequestHandlerTest;
|
| friend class LinkHeaderServiceWorkerTest;
|
| @@ -361,6 +335,11 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| ~OneShotGetReadyCallback();
|
| };
|
|
|
| + ServiceWorkerProviderHost(int process_id,
|
| + ServiceWorkerProviderHostInfo info,
|
| + base::WeakPtr<ServiceWorkerContextCore> context,
|
| + ServiceWorkerDispatcherHost* dispatcher_host);
|
| +
|
| // ServiceWorkerRegistration::Listener overrides.
|
| void OnVersionAttributesChanged(
|
| ServiceWorkerRegistration* registration,
|
|
|