Chromium Code Reviews| Index: chrome/browser/ui/task_manager/task_manager_table_model.cc |
| diff --git a/chrome/browser/ui/task_manager/task_manager_table_model.cc b/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| index e4d4ae2f10b95c38dd76e4e0e1750cfc09361e8e..83b97ed488bcd8543f450517f7649a7997769439 100644 |
| --- a/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| +++ b/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/command_line.h" |
| #include "base/i18n/number_formatting.h" |
| #include "base/i18n/rtl.h" |
| +#include "base/i18n/time_formatting.h" |
| #include "base/macros.h" |
| #include "base/process/process_handle.h" |
| #include "base/strings/string_number_conversions.h" |
| @@ -51,6 +52,8 @@ bool IsSharedByGroup(int column_id) { |
| case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: |
| case IDS_TASK_MANAGER_SWAPPED_MEM_COLUMN: |
| case IDS_TASK_MANAGER_CPU_COLUMN: |
| + case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| + case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| case IDS_TASK_MANAGER_NET_COLUMN: |
| case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: |
| case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: |
| @@ -120,6 +123,21 @@ class TaskManagerValuesStringifier { |
| cpu_usage)); |
| } |
| + base::string16 GetStartTimeText(base::Time start_time) { |
| + if (start_time.is_null()) |
| + return n_a_string_; |
| + |
| + return base::TimeFormatShortDateAndTime(start_time); |
| + } |
| + |
| + base::string16 GetCpuTimeText(base::TimeDelta cpu_time) { |
| + if (cpu_time.is_zero()) |
| + return n_a_string_; |
| + |
| + return base::TimeDurationFormatWithSeconds(cpu_time, |
| + base::DURATION_WIDTH_NARROW); |
|
stanisc
2016/12/21 19:17:52
Why not DURATION_WIDTH_NUMERIC?
chengx
2016/12/21 22:05:54
There is a bug here with DURATION_WIDTH_NUMERIC. I
|
| + } |
| + |
| base::string16 GetMemoryUsageText(int64_t memory_usage, bool has_duplicates) { |
| if (memory_usage == -1) |
| return n_a_string_; |
| @@ -298,6 +316,14 @@ base::string16 TaskManagerTableModel::GetText(int row, int column) { |
| return stringifier_->GetCpuUsageText( |
| observed_task_manager()->GetCpuUsage(tasks_[row])); |
| + case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| + return stringifier_->GetCpuTimeText( |
| + observed_task_manager()->GetCpuTime(tasks_[row])); |
| + |
| + case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| + return stringifier_->GetStartTimeText( |
| + observed_task_manager()->GetStartTime(tasks_[row])); |
| + |
| case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| return stringifier_->GetMemoryUsageText( |
| observed_task_manager()->GetPrivateMemoryUsage(tasks_[row]), false); |
| @@ -430,6 +456,14 @@ int TaskManagerTableModel::CompareValues(int row1, |
| return ValueCompare(observed_task_manager()->GetCpuUsage(tasks_[row1]), |
| observed_task_manager()->GetCpuUsage(tasks_[row2])); |
| + case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| + return ValueCompare(observed_task_manager()->GetCpuTime(tasks_[row1]), |
| + observed_task_manager()->GetCpuTime(tasks_[row2])); |
| + |
| + case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| + return ValueCompare(observed_task_manager()->GetStartTime(tasks_[row1]), |
| + observed_task_manager()->GetStartTime(tasks_[row2])); |
| + |
| case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| return ValueCompare( |
| observed_task_manager()->GetPrivateMemoryUsage(tasks_[row1]), |
| @@ -632,6 +666,14 @@ void TaskManagerTableModel::UpdateRefreshTypes(int column_id, bool visibility) { |
| type = REFRESH_TYPE_CPU; |
| break; |
| + case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| + type = REFRESH_TYPE_START_TIME; |
| + break; |
| + |
| + case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| + type = REFRESH_TYPE_CPU_TIME; |
| + break; |
| + |
| case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: |
| type = REFRESH_TYPE_PHYSICAL_MEMORY; |
| break; |