| Index: chrome/browser/chromeos/arc/arc_process.cc
|
| diff --git a/chrome/browser/chromeos/arc/arc_process.cc b/chrome/browser/chromeos/arc/arc_process.cc
|
| index 53f127d10d29c9200f50a95e3123a4472ab1545b..02aaa022bc0a85c8e116c5c5fbf6bef7d9fc1469 100644
|
| --- a/chrome/browser/chromeos/arc/arc_process.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_process.cc
|
| @@ -4,19 +4,33 @@
|
|
|
| #include "chrome/browser/chromeos/arc/arc_process.h"
|
|
|
| +#include <utility>
|
| +
|
| namespace arc {
|
|
|
| ArcProcess::ArcProcess(base::ProcessId nspid,
|
| base::ProcessId pid,
|
| const std::string& process_name,
|
| - mojom::ProcessState process_state)
|
| + mojom::ProcessState process_state,
|
| + bool is_focused,
|
| + int64_t last_activity_time)
|
| : nspid_(nspid),
|
| pid_(pid),
|
| process_name_(process_name),
|
| - process_state_(process_state) {}
|
| + process_state_(process_state),
|
| + is_focused_(is_focused),
|
| + last_activity_time_(last_activity_time) {}
|
|
|
| ArcProcess::~ArcProcess() = default;
|
|
|
| +// Sort by (process_state, last_activity_time) pair.
|
| +// Smaller process_state value means higher priority as defined in Android.
|
| +// Larger last_activity_time means more recently used.
|
| +bool ArcProcess::operator<(const ArcProcess& rhs) const {
|
| + return std::make_pair(process_state(), -last_activity_time()) <
|
| + std::make_pair(rhs.process_state(), -rhs.last_activity_time());
|
| +}
|
| +
|
| ArcProcess::ArcProcess(ArcProcess&& other) = default;
|
| ArcProcess& ArcProcess::operator=(ArcProcess&& other) = default;
|
|
|
|
|