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

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

Issue 1367673003: Expose all reusable task manager view code so it can be used by Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
Index: chrome/browser/ui/task_manager/task_manager_columns.cc
diff --git a/chrome/browser/ui/task_manager/task_manager_columns.cc b/chrome/browser/ui/task_manager/task_manager_columns.cc
new file mode 100644
index 0000000000000000000000000000000000000000..304fff16be9095943f49c58be46a5b437c57e900
--- /dev/null
+++ b/chrome/browser/ui/task_manager/task_manager_columns.cc
@@ -0,0 +1,120 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/task_manager/task_manager_columns.h"
+
+#include "base/logging.h"
+#include "chrome/grit/generated_resources.h"
+
+namespace task_management {
+
+namespace {
+
+// On Mac: Width of "a" and most other letters/digits in "small" table views.
+const int kCharWidth = 6;
+
+} // namespace
+
+// IMPORTANT: Do NOT change the below list without changing the COLUMN_LIST
+// macro below.
+const TableColumnData kColumns[] = {
+ { IDS_TASK_MANAGER_TASK_COLUMN, ui::TableColumn::LEFT, -1, 1, 120, 600, true,
+ true, true },
+ { IDS_TASK_MANAGER_PROFILE_NAME_COLUMN, ui::TableColumn::LEFT, -1, 0, 60, 200,
+ true, true, false },
+ { IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("800 MiB") * kCharWidth, -1, true, false, true },
+ { IDS_TASK_MANAGER_SHARED_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("800 MiB") * kCharWidth, -1, true, false, false },
+ { IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("800 MiB") * kCharWidth, -1, true, false, false },
+ { IDS_TASK_MANAGER_CPU_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("99.9") * kCharWidth, -1, true, false, true },
+ { IDS_TASK_MANAGER_NET_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("150 kiB/s") * kCharWidth, -1, true, false, true },
+ { IDS_TASK_MANAGER_PROCESS_ID_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("73099 ") * kCharWidth, -1, true, true, true },
+
+#if defined(OS_WIN)
+ { IDS_TASK_MANAGER_GDI_HANDLES_COLUMN, ui::TableColumn::RIGHT, -1, 0, 0, 0,
+ true, false, false },
+ { IDS_TASK_MANAGER_USER_HANDLES_COLUMN, ui::TableColumn::RIGHT, -1, 0, 0, 0,
+ true, false, false },
+#endif
+
+ { IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false, false },
+ { IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN, ui::TableColumn::RIGHT, -1,
+ 0, arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false,
+ false },
+ { IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false, false },
+ { IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("2000.0K") * kCharWidth, -1, true, false, false },
+ { IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("800 kB") * kCharWidth, -1, true, false, false },
+
+#if !defined(DISABLE_NACL)
+ { IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("32767") * kCharWidth, -1, true, true, false },
+#endif // !defined(DISABLE_NACL)
+
+ { IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN, ui::TableColumn::RIGHT,
+ -1, 0, arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false,
+ false },
+
+#if defined(OS_MACOSX) || defined(OS_LINUX)
+ // TODO(port): Port the idle wakeups per second to platforms other than Linux
+ // and MacOS (http://crbug.com/120488).
+ { IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("idlewakeups") * kCharWidth, -1, true, false, false },
+#endif // defined(OS_MACOSX) || defined(OS_LINUX)
+};
+
+const size_t kColumnsSize = arraysize(kColumns);
+
+const char kSortColumnIdKey[] = "sort_column_id";
+const char kSortIsAscendingKey[] = "sort_is_ascending";
+
+// We can't use the integer IDs of the columns converted to strings as session
+// restore keys. These integer values can change from one build to another as
+// they are generated. Instead we use the literal string value of the column
+// ID symbol (i.e. for the ID IDS_TASK_MANAGER_TASK_COLUMN, we use the literal
+// string "IDS_TASK_MANAGER_TASK_COLUMN". The following macros help us
+// efficiently get the literal ID for the integer value.
+#define COLUMNS_LITS(def) \
+ def(IDS_TASK_MANAGER_TASK_COLUMN) \
+ def(IDS_TASK_MANAGER_PROFILE_NAME_COLUMN) \
+ def(IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN) \
+ def(IDS_TASK_MANAGER_SHARED_MEM_COLUMN) \
+ def(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN) \
+ def(IDS_TASK_MANAGER_CPU_COLUMN) \
+ def(IDS_TASK_MANAGER_NET_COLUMN) \
+ def(IDS_TASK_MANAGER_PROCESS_ID_COLUMN) \
+ def(IDS_TASK_MANAGER_GDI_HANDLES_COLUMN) \
+ def(IDS_TASK_MANAGER_USER_HANDLES_COLUMN) \
+ def(IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN) \
+ def(IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN) \
+ def(IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN) \
+ def(IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN) \
+ def(IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN) \
+ def(IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN) \
+ def(IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN) \
+ def(IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN)
+// Add to the above list in the macro any new IDs added in the future. Also
+// remove the removed ones.
+
+#define COLUMN_ID_AS_STRING(col_id) case col_id: return std::string(#col_id);
+
+std::string GetColumnIdAsString(int column_id) {
+ switch (column_id) {
+ COLUMNS_LITS(COLUMN_ID_AS_STRING)
+ default:
+ NOTREACHED();
+ return std::string();
+ }
+}
+
+
+} // namespace task_management
« no previous file with comments | « chrome/browser/ui/task_manager/task_manager_columns.h ('k') | chrome/browser/ui/task_manager/task_manager_table_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698