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

Side by Side Diff: chrome/browser/chromeos/arc/arc_process.h

Issue 2095413002: TabManagerDelegate: Better prioritize ARC processes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync to ToT Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_process.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_
6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_ 6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_
7 7
8 #include <stdint.h>
8 #include <string> 9 #include <string>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/process/process_handle.h" 12 #include "base/process/process_handle.h"
12 #include "components/arc/common/process.mojom.h" 13 #include "components/arc/common/process.mojom.h"
13 14
14 namespace arc { 15 namespace arc {
15 16
16 class ArcProcess { 17 class ArcProcess {
17 public: 18 public:
18 ArcProcess(base::ProcessId nspid, 19 ArcProcess(base::ProcessId nspid,
19 base::ProcessId pid, 20 base::ProcessId pid,
20 const std::string& process_name, 21 const std::string& process_name,
21 mojom::ProcessState process_state); 22 mojom::ProcessState process_state,
23 bool is_focused,
24 int64_t last_activity_time);
22 ~ArcProcess(); 25 ~ArcProcess();
23 26
24 ArcProcess(ArcProcess&& other); 27 ArcProcess(ArcProcess&& other);
25 ArcProcess& operator=(ArcProcess&& other); 28 ArcProcess& operator=(ArcProcess&& other);
26 29
30 // Sort by descending importance.
31 bool operator<(const ArcProcess& rhs) const;
32
27 base::ProcessId nspid() const { return nspid_; } 33 base::ProcessId nspid() const { return nspid_; }
28 base::ProcessId pid() const { return pid_; } 34 base::ProcessId pid() const { return pid_; }
29 const std::string& process_name() const { return process_name_; } 35 const std::string& process_name() const { return process_name_; }
30 mojom::ProcessState process_state() const { return process_state_; } 36 mojom::ProcessState process_state() const { return process_state_; }
37 bool is_focused() const { return is_focused_; }
38 int64_t last_activity_time() const { return last_activity_time_; }
31 std::vector<std::string>& packages() { return packages_; } 39 std::vector<std::string>& packages() { return packages_; }
32 const std::vector<std::string>& packages() const { return packages_; } 40 const std::vector<std::string>& packages() const { return packages_; }
33 41
34 private: 42 private:
35 base::ProcessId nspid_; 43 base::ProcessId nspid_;
36 base::ProcessId pid_; 44 base::ProcessId pid_;
37 std::string process_name_; 45 std::string process_name_;
38 mojom::ProcessState process_state_; 46 mojom::ProcessState process_state_;
47 // If the Android app is the focused window.
48 bool is_focused_;
49 // A monotonic timer recording the last time this process was active.
50 // Milliseconds since Android boot. This info is passed from Android
51 // ActivityManagerService via IPC.
52 int64_t last_activity_time_;
39 std::vector<std::string> packages_; 53 std::vector<std::string> packages_;
40 54
41 DISALLOW_COPY_AND_ASSIGN(ArcProcess); 55 DISALLOW_COPY_AND_ASSIGN(ArcProcess);
42 }; 56 };
43 57
44 } // namespace arc 58 } // namespace arc
45 59
46 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_ 60 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_process.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698