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

Unified Diff: chrome/browser/task_management/providers/arc/arc_process_task_provider.cc

Issue 1523643002: arc-bridge: Move most methods to Mojo interfaces (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Rebased to ToT Created 5 years 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: chrome/browser/task_management/providers/arc/arc_process_task_provider.cc
diff --git a/chrome/browser/task_management/providers/arc/arc_process_task_provider.cc b/chrome/browser/task_management/providers/arc/arc_process_task_provider.cc
index 52820a6ad885d6f5ec13eaa9f0c7aa248561de26..10d689ee47e614c6b18480264d6a43224fe76774 100644
--- a/chrome/browser/task_management/providers/arc/arc_process_task_provider.cc
+++ b/chrome/browser/task_management/providers/arc/arc_process_task_provider.cc
@@ -81,12 +81,9 @@ std::map<base::ProcessId, base::ProcessId> ComputeNspidToPidMap() {
namespace task_management {
-ArcProcessTaskProvider::ArcProcessTaskProvider()
- : weak_ptr_factory_(this) {
-}
+ArcProcessTaskProvider::ArcProcessTaskProvider() : weak_ptr_factory_(this) {}
-ArcProcessTaskProvider::~ArcProcessTaskProvider() {
-}
+ArcProcessTaskProvider::~ArcProcessTaskProvider() {}
Task* ArcProcessTaskProvider::GetTaskOfUrlRequest(int origin_pid,
int child_id,
@@ -96,7 +93,7 @@ Task* ArcProcessTaskProvider::GetTaskOfUrlRequest(int origin_pid,
}
void ArcProcessTaskProvider::OnUpdateProcessList(
- const std::vector<arc::RunningAppProcessInfo>& processes) {
+ mojo::Array<arc::RunningAppProcessInfoPtr> processes) {
TRACE_EVENT0("browser", "ArcProcessTaskProvider::OnUpdateProcessList");
// NB: |processes| can be already stale here because it is sent via IPC, and
@@ -107,11 +104,12 @@ void ArcProcessTaskProvider::OnUpdateProcessList(
std::set<base::ProcessId> removed_nspids;
for (const auto& entry : nspid_to_task_)
removed_nspids.insert(entry.first);
- for (const arc::RunningAppProcessInfo& process : processes) {
- if (nspid_to_task_.count(process.pid))
- removed_nspids.erase(process.pid);
+ for (size_t i = 0; i < processes.size(); ++i) {
+ const arc::RunningAppProcessInfoPtr& process = processes[i];
+ if (nspid_to_task_.count(process->pid))
+ removed_nspids.erase(process->pid);
else
- added_processes.push_back(process);
+ added_processes.push_back(*process);
}
// Remove stale tasks.
@@ -132,7 +130,15 @@ void ArcProcessTaskProvider::OnUpdateProcessList(
}
void ArcProcessTaskProvider::RequestProcessList() {
- arc::ArcBridgeService::Get()->RequestProcessList();
+ arc::ProcessInstance* arc_process_instance =
+ arc::ArcBridgeService::Get()->process_instance();
+ if (!arc_process_instance) {
+ VLOG(2) << "ARC process instance is not ready.";
+ return;
+ }
+ arc_process_instance->RequestProcessList(
+ base::Bind(&ArcProcessTaskProvider::OnUpdateProcessList,
+ weak_ptr_factory_.GetWeakPtr()));
}
void ArcProcessTaskProvider::RemoveTasks(
@@ -160,7 +166,6 @@ void ArcProcessTaskProvider::AddTasks(
}
void ArcProcessTaskProvider::StartUpdating() {
- arc::ArcBridgeService::Get()->AddProcessObserver(this);
RequestProcessList();
// TODO(nya): Remove this timer once ARC starts to send us UpdateProcessList
// message when the process list changed. As of today, ARC does not send
@@ -173,7 +178,6 @@ void ArcProcessTaskProvider::StartUpdating() {
}
void ArcProcessTaskProvider::StopUpdating() {
- arc::ArcBridgeService::Get()->RemoveProcessObserver(this);
timer_.Stop();
nspid_to_task_.clear();
}

Powered by Google App Engine
This is Rietveld 408576698