Index: content/browser/service_worker/embedded_worker_instance.cc |
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc |
index f2365771a03cdc888ea505ca6626c0771e68c0c6..6c9dc1fc4e9250e9f9781c117285d15aa9745d5e 100644 |
--- a/content/browser/service_worker/embedded_worker_instance.cc |
+++ b/content/browser/service_worker/embedded_worker_instance.cc |
@@ -20,14 +20,11 @@ |
#include "content/common/service_worker/embedded_worker_messages.h" |
#include "content/common/service_worker/embedded_worker_settings.h" |
#include "content/common/service_worker/embedded_worker_setup.mojom.h" |
-#include "content/common/service_worker/embedded_worker_start_params.h" |
#include "content/common/service_worker/service_worker_types.h" |
-#include "content/common/service_worker/service_worker_utils.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/render_process_host.h" |
#include "content/public/common/child_process_host.h" |
-#include "content/public/common/content_switches.h" |
#include "ipc/ipc_message.h" |
#include "services/shell/public/cpp/interface_provider.h" |
#include "services/shell/public/cpp/interface_registry.h" |
@@ -72,7 +69,7 @@ |
worker_process_id, worker_route_id); |
} |
-void SetupOnUI( |
+void RegisterToWorkerDevToolsManagerOnUI( |
int process_id, |
const ServiceWorkerContextCore* service_worker_context, |
const base::WeakPtr<ServiceWorkerContextCore>& service_worker_context_weak, |
@@ -80,7 +77,6 @@ |
const GURL& url, |
const GURL& scope, |
bool is_installed, |
- mojom::EmbeddedWorkerInstanceClientRequest request, |
const base::Callback<void(int worker_devtools_agent_route_id, |
bool wait_for_debugger)>& callback) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
@@ -96,8 +92,6 @@ |
service_worker_context, service_worker_context_weak, |
service_worker_version_id, url, scope), |
is_installed); |
- if (request.is_pending()) |
- rph->GetRemoteInterfaces()->GetInterface(std::move(request)); |
} |
BrowserThread::PostTask( |
BrowserThread::IO, |
@@ -217,11 +211,8 @@ |
public: |
enum class ProcessAllocationState { NOT_ALLOCATED, ALLOCATING, ALLOCATED }; |
- StartTask(EmbeddedWorkerInstance* instance, |
- const GURL& script_url, |
- mojom::EmbeddedWorkerInstanceClientRequest request) |
+ StartTask(EmbeddedWorkerInstance* instance, const GURL& script_url) |
: instance_(instance), |
- request_(std::move(request)), |
state_(ProcessAllocationState::NOT_ALLOCATED), |
is_installed_(false), |
started_during_browser_startup_(false), |
@@ -263,7 +254,7 @@ |
// TODO(nhiroki): Reconsider this bizarre layering. |
} |
- void Start(std::unique_ptr<EmbeddedWorkerStartParams> params, |
+ void Start(std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params, |
const StatusCallback& callback) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
state_ = ProcessAllocationState::ALLOCATING; |
@@ -298,11 +289,12 @@ |
bool is_installed() const { return is_installed_; } |
private: |
- void OnProcessAllocated(std::unique_ptr<EmbeddedWorkerStartParams> params, |
- ServiceWorkerStatusCode status, |
- int process_id, |
- bool is_new_process, |
- const EmbeddedWorkerSettings& settings) { |
+ void OnProcessAllocated( |
+ std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params, |
+ ServiceWorkerStatusCode status, |
+ int process_id, |
+ bool is_new_process, |
+ const EmbeddedWorkerSettings& settings) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
if (status != SERVICE_WORKER_OK) { |
@@ -350,22 +342,23 @@ |
GURL script_url(params->script_url); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
- base::Bind(&SetupOnUI, process_id, instance_->context_.get(), |
- instance_->context_, service_worker_version_id, script_url, |
- scope, is_installed_, base::Passed(&request_), |
- base::Bind(&StartTask::OnSetupOnUICompleted, |
+ base::Bind(RegisterToWorkerDevToolsManagerOnUI, process_id, |
+ instance_->context_.get(), instance_->context_, |
+ service_worker_version_id, script_url, scope, is_installed_, |
+ base::Bind(&StartTask::OnRegisteredToDevToolsManager, |
weak_factory_.GetWeakPtr(), base::Passed(¶ms), |
is_new_process))); |
} |
- void OnSetupOnUICompleted(std::unique_ptr<EmbeddedWorkerStartParams> params, |
- bool is_new_process, |
- int worker_devtools_agent_route_id, |
- bool wait_for_debugger) { |
+ void OnRegisteredToDevToolsManager( |
+ std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params, |
+ bool is_new_process, |
+ int worker_devtools_agent_route_id, |
+ bool wait_for_debugger) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", |
"EmbeddedWorkerInstance::Start", this, |
- "OnSetupOnUICompleted"); |
+ "OnRegisteredToDevToolsManager"); |
// Notify the instance that it is registered to the devtools manager. |
instance_->OnRegisteredToDevToolsManager( |
@@ -373,14 +366,11 @@ |
params->worker_devtools_agent_route_id = worker_devtools_agent_route_id; |
params->wait_for_debugger = wait_for_debugger; |
- |
- if (ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) |
- instance_->SendMojoStartWorker(std::move(params)); |
- else |
- SendStartWorker(std::move(params)); |
- } |
- |
- void SendStartWorker(std::unique_ptr<EmbeddedWorkerStartParams> params) { |
+ SendStartWorker(std::move(params)); |
+ } |
+ |
+ void SendStartWorker( |
+ std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
ServiceWorkerStatusCode status = instance_->registry_->SendStartWorker( |
std::move(params), instance_->process_id()); |
@@ -403,10 +393,6 @@ |
// |instance_| must outlive |this|. |
EmbeddedWorkerInstance* instance_; |
- // Ownership is transferred by base::Passed() to a task after process |
- // allocation. |
- mojom::EmbeddedWorkerInstanceClientRequest request_; |
- |
StatusCallback start_callback_; |
ProcessAllocationState state_; |
@@ -435,7 +421,7 @@ |
} |
void EmbeddedWorkerInstance::Start( |
- std::unique_ptr<EmbeddedWorkerStartParams> params, |
+ std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params, |
const StatusCallback& callback) { |
if (!context_) { |
callback.Run(SERVICE_WORKER_ERROR_ABORT); |
@@ -459,12 +445,7 @@ |
params->wait_for_debugger = false; |
params->settings.v8_cache_options = GetV8CacheOptions(); |
- mojom::EmbeddedWorkerInstanceClientRequest request; |
- if (ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) |
- request = mojo::GetProxy(&client_); |
- |
- inflight_start_task_.reset( |
- new StartTask(this, params->script_url, std::move(request))); |
+ inflight_start_task_.reset(new StartTask(this, params->script_url)); |
inflight_start_task_->Start(std::move(params), callback); |
} |
@@ -584,15 +565,6 @@ |
} |
} |
-void EmbeddedWorkerInstance::SendMojoStartWorker( |
- std::unique_ptr<EmbeddedWorkerStartParams> params) { |
- client_->StartWorker(*params); |
- registry_->BindWorkerToProcess(process_id(), embedded_worker_id()); |
- TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start", |
- this, "SendStartWorker", "Status", "mojo"); |
- OnStartWorkerMessageSent(); |
-} |
- |
void EmbeddedWorkerInstance::OnStartWorkerMessageSent() { |
if (!step_time_.is_null()) { |
base::TimeDelta duration = UpdateStepTime(); |
@@ -687,10 +659,9 @@ |
FOR_EACH_OBSERVER(Listener, listener_list_, OnThreadStarted()); |
shell::mojom::InterfaceProviderPtr exposed_interfaces; |
- interface_registry_->Bind(mojo::GetProxy(&exposed_interfaces)); |
+ interface_registry_->Bind(GetProxy(&exposed_interfaces)); |
shell::mojom::InterfaceProviderPtr remote_interfaces; |
- shell::mojom::InterfaceProviderRequest request = |
- mojo::GetProxy(&remote_interfaces); |
+ shell::mojom::InterfaceProviderRequest request = GetProxy(&remote_interfaces); |
remote_interfaces_->Bind(std::move(remote_interfaces)); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |