| 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" |
| 11 #include "base/i18n/rtl.h" | 11 #include "base/i18n/rtl.h" |
| 12 #include "base/i18n/time_formatting.h" |
| 12 #include "base/macros.h" | 13 #include "base/macros.h" |
| 13 #include "base/process/process_handle.h" | 14 #include "base/process/process_handle.h" |
| 14 #include "base/strings/string_number_conversions.h" | 15 #include "base/strings/string_number_conversions.h" |
| 15 #include "base/strings/stringprintf.h" | 16 #include "base/strings/stringprintf.h" |
| 16 #include "base/strings/utf_string_conversions.h" | 17 #include "base/strings/utf_string_conversions.h" |
| 17 #include "build/build_config.h" | 18 #include "build/build_config.h" |
| 18 #include "chrome/browser/browser_process.h" | 19 #include "chrome/browser/browser_process.h" |
| 19 #include "chrome/browser/task_manager/task_manager_interface.h" | 20 #include "chrome/browser/task_manager/task_manager_interface.h" |
| 20 #include "chrome/browser/ui/task_manager/task_manager_columns.h" | 21 #include "chrome/browser/ui/task_manager/task_manager_columns.h" |
| 21 #include "chrome/common/pref_names.h" | 22 #include "chrome/common/pref_names.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 44 | 45 |
| 45 // The columns that are shared by a group will show the value of the column | 46 // The columns that are shared by a group will show the value of the column |
| 46 // only once per group. | 47 // only once per group. |
| 47 bool IsSharedByGroup(int column_id) { | 48 bool IsSharedByGroup(int column_id) { |
| 48 switch (column_id) { | 49 switch (column_id) { |
| 49 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: | 50 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| 50 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: | 51 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: |
| 51 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: | 52 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: |
| 52 case IDS_TASK_MANAGER_SWAPPED_MEM_COLUMN: | 53 case IDS_TASK_MANAGER_SWAPPED_MEM_COLUMN: |
| 53 case IDS_TASK_MANAGER_CPU_COLUMN: | 54 case IDS_TASK_MANAGER_CPU_COLUMN: |
| 55 case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| 56 case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| 54 case IDS_TASK_MANAGER_NET_COLUMN: | 57 case IDS_TASK_MANAGER_NET_COLUMN: |
| 55 case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: | 58 case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: |
| 56 case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: | 59 case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: |
| 57 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: | 60 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: |
| 58 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: | 61 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: |
| 59 case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: | 62 case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: |
| 60 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: | 63 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: |
| 61 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: | 64 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: |
| 62 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: | 65 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN: |
| 63 case IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN: | 66 case IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN: |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 IDS_TASK_MANAGER_MEMORY_STATE_SUSPENDED_TEXT)) { | 123 IDS_TASK_MANAGER_MEMORY_STATE_SUSPENDED_TEXT)) { |
| 121 } | 124 } |
| 122 | 125 |
| 123 ~TaskManagerValuesStringifier() {} | 126 ~TaskManagerValuesStringifier() {} |
| 124 | 127 |
| 125 base::string16 GetCpuUsageText(double cpu_usage) { | 128 base::string16 GetCpuUsageText(double cpu_usage) { |
| 126 return base::UTF8ToUTF16(base::StringPrintf(kCpuTextFormatString, | 129 return base::UTF8ToUTF16(base::StringPrintf(kCpuTextFormatString, |
| 127 cpu_usage)); | 130 cpu_usage)); |
| 128 } | 131 } |
| 129 | 132 |
| 133 base::string16 GetStartTimeText(base::Time start_time) { |
| 134 if (start_time.is_null()) |
| 135 return n_a_string_; |
| 136 |
| 137 return base::TimeFormatShortDateAndTime(start_time); |
| 138 } |
| 139 |
| 140 base::string16 GetCpuTimeText(base::TimeDelta cpu_time) { |
| 141 if (cpu_time.is_zero()) |
| 142 return n_a_string_; |
| 143 |
| 144 return base::TimeDurationFormatWithSeconds(cpu_time, |
| 145 base::DURATION_WIDTH_NARROW); |
| 146 } |
| 147 |
| 130 base::string16 GetMemoryUsageText(int64_t memory_usage, bool has_duplicates) { | 148 base::string16 GetMemoryUsageText(int64_t memory_usage, bool has_duplicates) { |
| 131 if (memory_usage == -1) | 149 if (memory_usage == -1) |
| 132 return n_a_string_; | 150 return n_a_string_; |
| 133 | 151 |
| 134 #if defined(OS_MACOSX) | 152 #if defined(OS_MACOSX) |
| 135 // System expectation is to show "100 kB", "200 MB", etc. | 153 // System expectation is to show "100 kB", "200 MB", etc. |
| 136 // TODO(thakis): [This TODO has been taken as is from the old task manager]: | 154 // TODO(thakis): [This TODO has been taken as is from the old task manager]: |
| 137 // Switch to metric units (as opposed to powers of two). | 155 // Switch to metric units (as opposed to powers of two). |
| 138 base::string16 memory_text = ui::FormatBytes(memory_usage); | 156 base::string16 memory_text = ui::FormatBytes(memory_usage); |
| 139 #else | 157 #else |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 return observed_task_manager()->GetProfileName(tasks_[row]); | 336 return observed_task_manager()->GetProfileName(tasks_[row]); |
| 319 | 337 |
| 320 case IDS_TASK_MANAGER_NET_COLUMN: | 338 case IDS_TASK_MANAGER_NET_COLUMN: |
| 321 return stringifier_->GetNetworkUsageText( | 339 return stringifier_->GetNetworkUsageText( |
| 322 observed_task_manager()->GetProcessTotalNetworkUsage(tasks_[row])); | 340 observed_task_manager()->GetProcessTotalNetworkUsage(tasks_[row])); |
| 323 | 341 |
| 324 case IDS_TASK_MANAGER_CPU_COLUMN: | 342 case IDS_TASK_MANAGER_CPU_COLUMN: |
| 325 return stringifier_->GetCpuUsageText( | 343 return stringifier_->GetCpuUsageText( |
| 326 observed_task_manager()->GetCpuUsage(tasks_[row])); | 344 observed_task_manager()->GetCpuUsage(tasks_[row])); |
| 327 | 345 |
| 346 case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| 347 return stringifier_->GetCpuTimeText( |
| 348 observed_task_manager()->GetCpuTime(tasks_[row])); |
| 349 |
| 350 case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| 351 return stringifier_->GetStartTimeText( |
| 352 observed_task_manager()->GetStartTime(tasks_[row])); |
| 353 |
| 328 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: | 354 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| 329 return stringifier_->GetMemoryUsageText( | 355 return stringifier_->GetMemoryUsageText( |
| 330 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row]), false); | 356 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row]), false); |
| 331 | 357 |
| 332 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: | 358 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: |
| 333 return stringifier_->GetMemoryUsageText( | 359 return stringifier_->GetMemoryUsageText( |
| 334 observed_task_manager()->GetSharedMemoryUsage(tasks_[row]), false); | 360 observed_task_manager()->GetSharedMemoryUsage(tasks_[row]), false); |
| 335 | 361 |
| 336 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: | 362 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: |
| 337 return stringifier_->GetMemoryUsageText( | 363 return stringifier_->GetMemoryUsageText( |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 | 482 |
| 457 case IDS_TASK_MANAGER_NET_COLUMN: | 483 case IDS_TASK_MANAGER_NET_COLUMN: |
| 458 return ValueCompare( | 484 return ValueCompare( |
| 459 observed_task_manager()->GetNetworkUsage(tasks_[row1]), | 485 observed_task_manager()->GetNetworkUsage(tasks_[row1]), |
| 460 observed_task_manager()->GetNetworkUsage(tasks_[row2])); | 486 observed_task_manager()->GetNetworkUsage(tasks_[row2])); |
| 461 | 487 |
| 462 case IDS_TASK_MANAGER_CPU_COLUMN: | 488 case IDS_TASK_MANAGER_CPU_COLUMN: |
| 463 return ValueCompare(observed_task_manager()->GetCpuUsage(tasks_[row1]), | 489 return ValueCompare(observed_task_manager()->GetCpuUsage(tasks_[row1]), |
| 464 observed_task_manager()->GetCpuUsage(tasks_[row2])); | 490 observed_task_manager()->GetCpuUsage(tasks_[row2])); |
| 465 | 491 |
| 492 case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| 493 return ValueCompare(observed_task_manager()->GetCpuTime(tasks_[row1]), |
| 494 observed_task_manager()->GetCpuTime(tasks_[row2])); |
| 495 |
| 496 case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| 497 return ValueCompare(observed_task_manager()->GetStartTime(tasks_[row1]), |
| 498 observed_task_manager()->GetStartTime(tasks_[row2])); |
| 499 |
| 466 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: | 500 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| 467 return ValueCompare( | 501 return ValueCompare( |
| 468 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row1]), | 502 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row1]), |
| 469 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row2])); | 503 observed_task_manager()->GetPrivateMemoryUsage(tasks_[row2])); |
| 470 | 504 |
| 471 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: | 505 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: |
| 472 return ValueCompare( | 506 return ValueCompare( |
| 473 observed_task_manager()->GetSharedMemoryUsage(tasks_[row1]), | 507 observed_task_manager()->GetSharedMemoryUsage(tasks_[row1]), |
| 474 observed_task_manager()->GetSharedMemoryUsage(tasks_[row2])); | 508 observed_task_manager()->GetSharedMemoryUsage(tasks_[row2])); |
| 475 | 509 |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 return; // The data in these columns do not change. | 692 return; // The data in these columns do not change. |
| 659 | 693 |
| 660 case IDS_TASK_MANAGER_NET_COLUMN: | 694 case IDS_TASK_MANAGER_NET_COLUMN: |
| 661 type = REFRESH_TYPE_NETWORK_USAGE; | 695 type = REFRESH_TYPE_NETWORK_USAGE; |
| 662 break; | 696 break; |
| 663 | 697 |
| 664 case IDS_TASK_MANAGER_CPU_COLUMN: | 698 case IDS_TASK_MANAGER_CPU_COLUMN: |
| 665 type = REFRESH_TYPE_CPU; | 699 type = REFRESH_TYPE_CPU; |
| 666 break; | 700 break; |
| 667 | 701 |
| 702 case IDS_TASK_MANAGER_START_TIME_COLUMN: |
| 703 type = REFRESH_TYPE_START_TIME; |
| 704 break; |
| 705 |
| 706 case IDS_TASK_MANAGER_CPU_TIME_COLUMN: |
| 707 type = REFRESH_TYPE_CPU_TIME; |
| 708 break; |
| 709 |
| 668 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: | 710 case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: |
| 669 type = REFRESH_TYPE_PHYSICAL_MEMORY; | 711 type = REFRESH_TYPE_PHYSICAL_MEMORY; |
| 670 break; | 712 break; |
| 671 | 713 |
| 672 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: | 714 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: |
| 673 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: | 715 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: |
| 674 case IDS_TASK_MANAGER_SWAPPED_MEM_COLUMN: | 716 case IDS_TASK_MANAGER_SWAPPED_MEM_COLUMN: |
| 675 type = REFRESH_TYPE_MEMORY_DETAILS; | 717 type = REFRESH_TYPE_MEMORY_DETAILS; |
| 676 if (table_view_delegate_->IsColumnVisible( | 718 if (table_view_delegate_->IsColumnVisible( |
| 677 IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN) || | 719 IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN) || |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 869 | 911 |
| 870 bool TaskManagerTableModel::IsTaskFirstInGroup(int row_index) const { | 912 bool TaskManagerTableModel::IsTaskFirstInGroup(int row_index) const { |
| 871 if (row_index == 0) | 913 if (row_index == 0) |
| 872 return true; | 914 return true; |
| 873 | 915 |
| 874 return observed_task_manager()->GetProcessId(tasks_[row_index - 1]) != | 916 return observed_task_manager()->GetProcessId(tasks_[row_index - 1]) != |
| 875 observed_task_manager()->GetProcessId(tasks_[row_index]); | 917 observed_task_manager()->GetProcessId(tasks_[row_index]); |
| 876 } | 918 } |
| 877 | 919 |
| 878 } // namespace task_manager | 920 } // namespace task_manager |
| OLD | NEW |