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

Unified Diff: chrome/browser/ui/task_manager/task_manager_table_model.cc

Issue 2593233003: Add a task manager column that shows memory state of processes (Closed)
Patch Set: fix compile error Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/task_manager/task_manager_columns.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..3b02ccb68155254f6a650175139275bd836bd1af 100644
--- a/chrome/browser/ui/task_manager/task_manager_table_model.cc
+++ b/chrome/browser/ui/task_manager/task_manager_table_model.cc
@@ -63,6 +63,7 @@ bool IsSharedByGroup(int column_id) {
case IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN:
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
case IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN:
+ case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN:
return true;
default:
return false;
@@ -110,7 +111,13 @@ class TaskManagerValuesStringifier {
unknown_string_(l10n_util::GetStringUTF16(
IDS_TASK_MANAGER_UNKNOWN_VALUE_TEXT)),
disabled_nacl_debugging_string_(l10n_util::GetStringUTF16(
- IDS_TASK_MANAGER_DISABLED_NACL_DBG_TEXT)) {
+ IDS_TASK_MANAGER_DISABLED_NACL_DBG_TEXT)),
+ memory_state_normal_string_(l10n_util::GetStringUTF16(
+ IDS_TASK_MANAGER_MEMORY_STATE_NORMAL_TEXT)),
+ memory_state_throttled_string_(l10n_util::GetStringUTF16(
+ IDS_TASK_MANAGER_MEMORY_STATE_THROTTLED_TEXT)),
+ memory_state_suspended_string_(l10n_util::GetStringUTF16(
+ IDS_TASK_MANAGER_MEMORY_STATE_SUSPENDED_TEXT)) {
}
~TaskManagerValuesStringifier() {}
@@ -143,6 +150,21 @@ class TaskManagerValuesStringifier {
return memory_text;
}
+ base::string16 GetMemoryStateText(base::MemoryState state) {
+ switch (state) {
+ case base::MemoryState::NORMAL:
+ return memory_state_normal_string_;
+ case base::MemoryState::THROTTLED:
+ return memory_state_throttled_string_;
+ case base::MemoryState::SUSPENDED:
+ return memory_state_suspended_string_;
+ case base::MemoryState::UNKNOWN:
+ return n_a_string_;
+ }
+ NOTREACHED();
+ return n_a_string_;
+ }
+
base::string16 GetIdleWakeupsText(int idle_wakeups) {
if (idle_wakeups == -1)
return n_a_string_;
@@ -232,6 +254,11 @@ class TaskManagerValuesStringifier {
// #enable-nacl-debug is disabled.
const base::string16 disabled_nacl_debugging_string_;
+ // Localized strings for memory states.
+ const base::string16 memory_state_normal_string_;
+ const base::string16 memory_state_throttled_string_;
+ const base::string16 memory_state_suspended_string_;
+
DISALLOW_COPY_AND_ASSIGN(TaskManagerValuesStringifier);
};
@@ -398,6 +425,11 @@ base::string16 TaskManagerTableModel::GetText(int row, int column) {
}
#endif // defined(OS_LINUX)
+ case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN: {
+ return stringifier_->GetMemoryStateText(
+ observed_task_manager()->GetMemoryState(tasks_[row]));
+ }
+
default:
NOTREACHED();
return base::string16();
@@ -419,6 +451,7 @@ int TaskManagerTableModel::CompareValues(int row1,
switch (column_id) {
case IDS_TASK_MANAGER_TASK_COLUMN:
case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN:
+ case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN:
return ui::TableModel::CompareValues(row1, row2, column_id);
case IDS_TASK_MANAGER_NET_COLUMN:
@@ -699,6 +732,10 @@ void TaskManagerTableModel::UpdateRefreshTypes(int column_id, bool visibility) {
type = REFRESH_TYPE_PRIORITY;
break;
+ case IDS_TASK_MANAGER_MEMORY_STATE_COLUMN:
+ type = REFRESH_TYPE_MEMORY_STATE;
+ break;
+
#if defined(OS_LINUX)
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
type = REFRESH_TYPE_FD_COUNT;
« no previous file with comments | « chrome/browser/ui/task_manager/task_manager_columns.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698