Index: chrome/browser/task_management/providers/arc/arc_process_task_provider.h |
diff --git a/chrome/browser/task_management/providers/arc/arc_process_task_provider.h b/chrome/browser/task_management/providers/arc/arc_process_task_provider.h |
index 49aea04da738d12d397c8de67d9cf4aa3c7b1565..5a7f5242e30461d53c0ad0bf874e20b62300b274 100644 |
--- a/chrome/browser/task_management/providers/arc/arc_process_task_provider.h |
+++ b/chrome/browser/task_management/providers/arc/arc_process_task_provider.h |
@@ -11,6 +11,7 @@ |
#include <string> |
#include <vector> |
+#include "base/callback.h" |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
#include "base/process/process.h" |
@@ -40,18 +41,29 @@ class ArcProcessTaskProvider : public TaskProvider { |
int route_id) override; |
private: |
+ using ArcTaskMap = |
+ std::unordered_map<base::ProcessId, std::unique_ptr<ArcProcessTask>>; |
+ void ScheduleNextRequest(const base::Closure& task, const int delaySeconds); |
+ |
// Auto-retry if ARC bridge service is not ready. |
- void RequestProcessList(); |
+ void RequestAppProcessList(); |
+ void RequestSystemProcessList(); |
- void OnUpdateProcessList(const std::vector<arc::ArcProcess>& processes); |
+ void UpdateProcessList( |
+ ArcTaskMap* pid_to_task, |
+ const std::vector<arc::ArcProcess>& processes); |
+ void OnUpdateAppProcessList(const std::vector<arc::ArcProcess>& processes); |
+ void OnUpdateSystemProcessList(const std::vector<arc::ArcProcess>& processes); |
// task_management::TaskProvider: |
void StartUpdating() override; |
void StopUpdating() override; |
- void ScheduleNextRequest(); |
+ void ScheduleNextAppRequest(); |
+ void ScheduleNextSystemRequest(); |
- std::map<base::ProcessId, std::unique_ptr<ArcProcessTask>> nspid_to_task_; |
+ ArcTaskMap nspid_to_task_; |
+ ArcTaskMap nspid_to_sys_task_; |
// Whether to continue the periodical polling. |
bool is_updating_; |