| 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 e42c5a4669480742aeefba8e2cc730a63fc54475..585bc591b6ffc705fd4da1733201cb3391e6e761 100644
|
| --- a/content/browser/service_worker/service_worker_provider_host.h
|
| +++ b/content/browser/service_worker/service_worker_provider_host.h
|
| @@ -20,6 +20,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "content/browser/service_worker/service_worker_registration.h"
|
| #include "content/common/content_export.h"
|
| +#include "content/common/service_worker/service_worker_provider_host_info.h"
|
| #include "content/common/service_worker/service_worker_types.h"
|
| #include "content/public/common/request_context_frame_type.h"
|
| #include "content/public/common/request_context_type.h"
|
| @@ -72,22 +73,15 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| bool are_ancestors_secure,
|
| const WebContentsGetter& web_contents_getter);
|
|
|
| - enum class FrameSecurityLevel { UNINITIALIZED, INSECURE, SECURE };
|
| + // Used to create a ServiceWorkerProviderHost when the renderer-side provider
|
| + // is created. This ProviderHost will be created for the process specified by
|
| + // |process_id|.
|
| + static std::unique_ptr<ServiceWorkerProviderHost> Create(
|
| + int process_id,
|
| + ServiceWorkerProviderHostInfo info,
|
| + base::WeakPtr<ServiceWorkerContextCore> context,
|
| + ServiceWorkerDispatcherHost* dispatcher_host);
|
|
|
| - // When this provider host is for a Service Worker context, |route_id| is
|
| - // MSG_ROUTING_NONE. When this provider host is for a Document,
|
| - // |route_id| is the frame ID of the Document. When this provider host is for
|
| - // a Shared Worker, |route_id| is the Shared Worker route ID.
|
| - // |provider_type| gives additional information whether the provider is
|
| - // created for controller (ServiceWorker) or controllee (Document or
|
| - // SharedWorker).
|
| - ServiceWorkerProviderHost(int render_process_id,
|
| - int route_id,
|
| - int provider_id,
|
| - ServiceWorkerProviderType provider_type,
|
| - FrameSecurityLevel parent_frame_security_level,
|
| - base::WeakPtr<ServiceWorkerContextCore> context,
|
| - ServiceWorkerDispatcherHost* dispatcher_host);
|
| virtual ~ServiceWorkerProviderHost();
|
|
|
| const std::string& client_uuid() const { return client_uuid_; }
|
| @@ -99,15 +93,7 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| return web_contents_getter_;
|
| }
|
|
|
| - bool is_parent_frame_secure() const {
|
| - return parent_frame_security_level_ == FrameSecurityLevel::SECURE;
|
| - }
|
| - void set_parent_frame_secure(bool is_parent_frame_secure) {
|
| - CHECK_EQ(parent_frame_security_level_, FrameSecurityLevel::UNINITIALIZED);
|
| - parent_frame_security_level_ = is_parent_frame_secure
|
| - ? FrameSecurityLevel::SECURE
|
| - : FrameSecurityLevel::INSECURE;
|
| - }
|
| + bool is_parent_frame_secure() const { return is_parent_frame_secure_; }
|
|
|
| // Returns whether this provider host is secure enough to have a service
|
| // worker controller.
|
| @@ -252,7 +238,7 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| bool GetRegistrationForReady(const GetRegistrationForReadyCallback& callback);
|
|
|
| // Methods to support cross site navigations.
|
| - void PrepareForCrossSiteTransfer();
|
| + std::unique_ptr<ServiceWorkerProviderHost> PrepareForCrossSiteTransfer();
|
| void CompleteCrossSiteTransfer(
|
| int new_process_id,
|
| int new_frame_id,
|
| @@ -329,6 +315,14 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| ~OneShotGetReadyCallback();
|
| };
|
|
|
| + ServiceWorkerProviderHost(int render_process_id,
|
| + int route_id,
|
| + int provider_id,
|
| + ServiceWorkerProviderType provider_type,
|
| + bool is_parent_frame_secure,
|
| + base::WeakPtr<ServiceWorkerContextCore> context,
|
| + ServiceWorkerDispatcherHost* dispatcher_host);
|
| +
|
| // ServiceWorkerRegistration::Listener overrides.
|
| void OnVersionAttributesChanged(
|
| ServiceWorkerRegistration* registration,
|
| @@ -388,7 +382,7 @@ class CONTENT_EXPORT ServiceWorkerProviderHost
|
| WebContentsGetter web_contents_getter_;
|
|
|
| ServiceWorkerProviderType provider_type_;
|
| - FrameSecurityLevel parent_frame_security_level_;
|
| + const bool is_parent_frame_secure_;
|
| GURL document_url_;
|
| GURL topmost_frame_url_;
|
|
|
|
|