Index: content/browser/service_worker/service_worker_version.cc |
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc |
index f73ecfb65a373bbc61f3c1be7dbda83dd923a984..0d4e0d79454e4ad265cfadcedb734c836c0861d5 100644 |
--- a/content/browser/service_worker/service_worker_version.cc |
+++ b/content/browser/service_worker/service_worker_version.cc |
@@ -10,6 +10,7 @@ |
#include "content/browser/service_worker/embedded_worker_instance.h" |
#include "content/browser/service_worker/embedded_worker_registry.h" |
#include "content/browser/service_worker/service_worker_context_core.h" |
+#include "content/browser/service_worker/service_worker_process_manager.h" |
#include "content/browser/service_worker/service_worker_registration.h" |
#include "content/browser/service_worker/service_worker_utils.h" |
#include "content/common/service_worker/service_worker_messages.h" |
@@ -158,11 +159,10 @@ ServiceWorkerVersionInfo ServiceWorkerVersion::GetInfo() { |
} |
void ServiceWorkerVersion::StartWorker(const StatusCallback& callback) { |
- StartWorkerWithCandidateProcesses(std::vector<int>(), false, callback); |
+ StartWorker(false, callback); |
} |
-void ServiceWorkerVersion::StartWorkerWithCandidateProcesses( |
- const std::vector<int>& possible_process_ids, |
+void ServiceWorkerVersion::StartWorker( |
bool pause_after_download, |
const StatusCallback& callback) { |
switch (running_status()) { |
@@ -181,7 +181,6 @@ void ServiceWorkerVersion::StartWorkerWithCandidateProcesses( |
scope_, |
script_url_, |
pause_after_download, |
- possible_process_ids, |
base::Bind(&ServiceWorkerVersion::RunStartWorkerCallbacksOnError, |
weak_factory_.GetWeakPtr())); |
} |
@@ -370,15 +369,17 @@ void ServiceWorkerVersion::DispatchPushEvent(const StatusCallback& callback, |
} |
void ServiceWorkerVersion::AddProcessToWorker(int process_id) { |
- embedded_worker_->AddProcessReference(process_id); |
+ if (context_ && context_->process_manager()) { |
+ context_->process_manager()->AddScopeProcessReference( |
+ scope_, process_id); |
+ } |
} |
void ServiceWorkerVersion::RemoveProcessFromWorker(int process_id) { |
- embedded_worker_->ReleaseProcessReference(process_id); |
-} |
- |
-bool ServiceWorkerVersion::HasProcessToRun() const { |
- return embedded_worker_->HasProcessToRun(); |
+ if (context_ && context_->process_manager()) { |
+ context_->process_manager()->RemoveScopeProcessReference( |
+ scope_, process_id); |
+ } |
} |
void ServiceWorkerVersion::AddControllee( |
@@ -418,6 +419,14 @@ void ServiceWorkerVersion::RemovePotentialControllee( |
RemoveProcessFromWorker(provider_host->process_id()); |
} |
+void ServiceWorkerVersion::AddPendingProcesses( |
+ const std::vector<int>& pending_processes) { |
+ if (context_ && context_->process_manager() && !pending_processes.empty()) { |
+ context_->process_manager()->AddScopePendingProcesses( |
+ scope_, pending_processes); |
+ } |
+} |
+ |
void ServiceWorkerVersion::AddListener(Listener* listener) { |
listeners_.AddObserver(listener); |
} |