Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "chrome/browser/ui/task_manager/task_manager_table_model.h" | 5 #include "chrome/browser/ui/task_manager/task_manager_table_model.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/i18n/number_formatting.h" | 10 #include "base/i18n/number_formatting.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 56 case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: | 56 case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: |
| 57 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: | 57 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: |
| 58 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: | 58 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: |
| 59 case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: | 59 case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: |
| 60 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: | 60 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: |
| 61 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: | 61 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: |
| 62 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: | 62 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: |
| 63 case IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN: | 63 case IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN: |
| 64 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: | 64 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: |
| 65 case IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN: | 65 case IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN: |
| 66 case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN: | |
| 66 return true; | 67 return true; |
| 67 default: | 68 default: |
| 68 return false; | 69 return false; |
| 69 } | 70 } |
| 70 } | 71 } |
| 71 | 72 |
| 72 // Used to sort various column values. | 73 // Used to sort various column values. |
| 73 template <class T> | 74 template <class T> |
| 74 int ValueCompare(T value1, T value2) { | 75 int ValueCompare(T value1, T value2) { |
| 75 if (value1 == value2) | 76 if (value1 == value2) |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 memory_text = l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_MEM_CELL_TEXT, | 137 memory_text = l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_MEM_CELL_TEXT, |
| 137 memory_text); | 138 memory_text); |
| 138 #endif // defined(OS_MACOSX) | 139 #endif // defined(OS_MACOSX) |
| 139 | 140 |
| 140 if (has_duplicates) | 141 if (has_duplicates) |
| 141 memory_text += asterisk_string_; | 142 memory_text += asterisk_string_; |
| 142 | 143 |
| 143 return memory_text; | 144 return memory_text; |
| 144 } | 145 } |
| 145 | 146 |
| 147 base::string16 GetMemoryStateText(base::MemoryState state) { | |
| 148 if (state == base::MemoryState::UNKNOWN) | |
| 149 return n_a_string_; | |
| 150 // TODO(bashi): i18n. | |
|
afakhry
2017/01/05 00:57:30
Nit: This TODO is very vague. Can you please expla
bashi
2017/01/05 01:05:52
Done.
afakhry
2017/01/05 01:27:10
In this case it's quite simple to do here. Conside
bashi
2017/01/05 02:18:22
Thanks for the suggestion. The MemoryState enums a
afakhry
2017/01/05 17:00:20
Perfect, thanks!
| |
| 151 return base::UTF8ToUTF16(base::MemoryStateToString(state)); | |
| 152 } | |
| 153 | |
| 146 base::string16 GetIdleWakeupsText(int idle_wakeups) { | 154 base::string16 GetIdleWakeupsText(int idle_wakeups) { |
| 147 if (idle_wakeups == -1) | 155 if (idle_wakeups == -1) |
| 148 return n_a_string_; | 156 return n_a_string_; |
| 149 | 157 |
| 150 return base::FormatNumber(idle_wakeups); | 158 return base::FormatNumber(idle_wakeups); |
| 151 } | 159 } |
| 152 | 160 |
| 153 base::string16 GetNaClPortText(int nacl_port) { | 161 base::string16 GetNaClPortText(int nacl_port) { |
| 154 if (nacl_port == nacl::kGdbDebugStubPortUnused || nacl_port == -2) | 162 if (nacl_port == nacl::kGdbDebugStubPortUnused || nacl_port == -2) |
| 155 return n_a_string_; | 163 return n_a_string_; |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 391 : stringifier_->foregrounded_string(); | 399 : stringifier_->foregrounded_string(); |
| 392 | 400 |
| 393 #if defined(OS_LINUX) | 401 #if defined(OS_LINUX) |
| 394 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { | 402 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { |
| 395 const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); | 403 const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); |
| 396 return fd_count >= 0 ? base::FormatNumber(fd_count) | 404 return fd_count >= 0 ? base::FormatNumber(fd_count) |
| 397 : stringifier_->n_a_string(); | 405 : stringifier_->n_a_string(); |
| 398 } | 406 } |
| 399 #endif // defined(OS_LINUX) | 407 #endif // defined(OS_LINUX) |
| 400 | 408 |
| 409 case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN: { | |
| 410 return stringifier_->GetMemoryStateText( | |
| 411 observed_task_manager()->GetMemoryState(tasks_[row])); | |
| 412 } | |
| 413 | |
| 401 default: | 414 default: |
| 402 NOTREACHED(); | 415 NOTREACHED(); |
| 403 return base::string16(); | 416 return base::string16(); |
| 404 } | 417 } |
| 405 } | 418 } |
| 406 | 419 |
| 407 gfx::ImageSkia TaskManagerTableModel::GetIcon(int row) { | 420 gfx::ImageSkia TaskManagerTableModel::GetIcon(int row) { |
| 408 return observed_task_manager()->GetIcon(tasks_[row]); | 421 return observed_task_manager()->GetIcon(tasks_[row]); |
| 409 } | 422 } |
| 410 | 423 |
| 411 void TaskManagerTableModel::SetObserver( | 424 void TaskManagerTableModel::SetObserver( |
| 412 ui::TableModelObserver* observer) { | 425 ui::TableModelObserver* observer) { |
| 413 table_model_observer_ = observer; | 426 table_model_observer_ = observer; |
| 414 } | 427 } |
| 415 | 428 |
| 416 int TaskManagerTableModel::CompareValues(int row1, | 429 int TaskManagerTableModel::CompareValues(int row1, |
| 417 int row2, | 430 int row2, |
| 418 int column_id) { | 431 int column_id) { |
| 419 switch (column_id) { | 432 switch (column_id) { |
| 420 case IDS_TASK_MANAGER_TASK_COLUMN: | 433 case IDS_TASK_MANAGER_TASK_COLUMN: |
| 421 case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: | 434 case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: |
| 435 case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN: | |
| 422 return ui::TableModel::CompareValues(row1, row2, column_id); | 436 return ui::TableModel::CompareValues(row1, row2, column_id); |
| 423 | 437 |
| 424 case IDS_TASK_MANAGER_NET_COLUMN: | 438 case IDS_TASK_MANAGER_NET_COLUMN: |
| 425 return ValueCompare( | 439 return ValueCompare( |
| 426 observed_task_manager()->GetNetworkUsage(tasks_[row1]), | 440 observed_task_manager()->GetNetworkUsage(tasks_[row1]), |
| 427 observed_task_manager()->GetNetworkUsage(tasks_[row2])); | 441 observed_task_manager()->GetNetworkUsage(tasks_[row2])); |
| 428 | 442 |
| 429 case IDS_TASK_MANAGER_CPU_COLUMN: | 443 case IDS_TASK_MANAGER_CPU_COLUMN: |
| 430 return ValueCompare(observed_task_manager()->GetCpuUsage(tasks_[row1]), | 444 return ValueCompare(observed_task_manager()->GetCpuUsage(tasks_[row1]), |
| 431 observed_task_manager()->GetCpuUsage(tasks_[row2])); | 445 observed_task_manager()->GetCpuUsage(tasks_[row2])); |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 692 break; | 706 break; |
| 693 | 707 |
| 694 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: | 708 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: |
| 695 type = REFRESH_TYPE_NACL; | 709 type = REFRESH_TYPE_NACL; |
| 696 break; | 710 break; |
| 697 | 711 |
| 698 case IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN: | 712 case IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN: |
| 699 type = REFRESH_TYPE_PRIORITY; | 713 type = REFRESH_TYPE_PRIORITY; |
| 700 break; | 714 break; |
| 701 | 715 |
| 716 case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN: | |
| 717 type = REFRESH_TYPE_MEMORY_STATE; | |
| 718 break; | |
| 719 | |
| 702 #if defined(OS_LINUX) | 720 #if defined(OS_LINUX) |
| 703 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: | 721 case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: |
| 704 type = REFRESH_TYPE_FD_COUNT; | 722 type = REFRESH_TYPE_FD_COUNT; |
| 705 break; | 723 break; |
| 706 #endif // defined(OS_LINUX) | 724 #endif // defined(OS_LINUX) |
| 707 | 725 |
| 708 default: | 726 default: |
| 709 NOTREACHED(); | 727 NOTREACHED(); |
| 710 return; | 728 return; |
| 711 } | 729 } |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 832 | 850 |
| 833 bool TaskManagerTableModel::IsTaskFirstInGroup(int row_index) const { | 851 bool TaskManagerTableModel::IsTaskFirstInGroup(int row_index) const { |
| 834 if (row_index == 0) | 852 if (row_index == 0) |
| 835 return true; | 853 return true; |
| 836 | 854 |
| 837 return observed_task_manager()->GetProcessId(tasks_[row_index - 1]) != | 855 return observed_task_manager()->GetProcessId(tasks_[row_index - 1]) != |
| 838 observed_task_manager()->GetProcessId(tasks_[row_index]); | 856 observed_task_manager()->GetProcessId(tasks_[row_index]); |
| 839 } | 857 } |
| 840 | 858 |
| 841 } // namespace task_manager | 859 } // namespace task_manager |
| OLD | NEW |