Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(786)

Unified Diff: content/browser/service_worker/service_worker_version.cc

Issue 443593002: ServiceWorker: Move worker candidate process knowledge to ServiceWorkerProcessManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: RPH observer DCHECK and browser tests build fix Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698