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

Side by Side 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, 2 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 unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/task_manager/task_manager_columns.h"
6
7 #include "base/logging.h"
8 #include "chrome/grit/generated_resources.h"
9
10 namespace task_management {
11
12 namespace {
13
14 // On Mac: Width of "a" and most other letters/digits in "small" table views.
15 const int kCharWidth = 6;
16
17 } // namespace
18
19 // IMPORTANT: Do NOT change the below list without changing the COLUMN_LIST
20 // macro below.
21 const TableColumnData kColumns[] = {
22 { IDS_TASK_MANAGER_TASK_COLUMN, ui::TableColumn::LEFT, -1, 1, 120, 600, true,
23 true, true },
24 { IDS_TASK_MANAGER_PROFILE_NAME_COLUMN, ui::TableColumn::LEFT, -1, 0, 60, 200,
25 true, true, false },
26 { IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
27 arraysize("800 MiB") * kCharWidth, -1, true, false, true },
28 { IDS_TASK_MANAGER_SHARED_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
29 arraysize("800 MiB") * kCharWidth, -1, true, false, false },
30 { IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, ui::TableColumn::RIGHT, -1, 0,
31 arraysize("800 MiB") * kCharWidth, -1, true, false, false },
32 { IDS_TASK_MANAGER_CPU_COLUMN, ui::TableColumn::RIGHT, -1, 0,
33 arraysize("99.9") * kCharWidth, -1, true, false, true },
34 { IDS_TASK_MANAGER_NET_COLUMN, ui::TableColumn::RIGHT, -1, 0,
35 arraysize("150 kiB/s") * kCharWidth, -1, true, false, true },
36 { IDS_TASK_MANAGER_PROCESS_ID_COLUMN, ui::TableColumn::RIGHT, -1, 0,
37 arraysize("73099 ") * kCharWidth, -1, true, true, true },
38
39 #if defined(OS_WIN)
40 { IDS_TASK_MANAGER_GDI_HANDLES_COLUMN, ui::TableColumn::RIGHT, -1, 0, 0, 0,
41 true, false, false },
42 { IDS_TASK_MANAGER_USER_HANDLES_COLUMN, ui::TableColumn::RIGHT, -1, 0, 0, 0,
43 true, false, false },
44 #endif
45
46 { IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN, ui::TableColumn::RIGHT, -1, 0,
47 arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false, false },
48 { IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN, ui::TableColumn::RIGHT, -1,
49 0, arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false,
50 false },
51 { IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN, ui::TableColumn::RIGHT, -1, 0,
52 arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false, false },
53 { IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN, ui::TableColumn::RIGHT, -1, 0,
54 arraysize("2000.0K") * kCharWidth, -1, true, false, false },
55 { IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN, ui::TableColumn::RIGHT, -1, 0,
56 arraysize("800 kB") * kCharWidth, -1, true, false, false },
57
58 #if !defined(DISABLE_NACL)
59 { IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
60 arraysize("32767") * kCharWidth, -1, true, true, false },
61 #endif // !defined(DISABLE_NACL)
62
63 { IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN, ui::TableColumn::RIGHT,
64 -1, 0, arraysize("2000.0K (2000.0 live)") * kCharWidth, -1, true, false,
65 false },
66
67 #if defined(OS_MACOSX) || defined(OS_LINUX)
68 // TODO(port): Port the idle wakeups per second to platforms other than Linux
69 // and MacOS (http://crbug.com/120488).
70 { IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN, ui::TableColumn::RIGHT, -1, 0,
71 arraysize("idlewakeups") * kCharWidth, -1, true, false, false },
72 #endif // defined(OS_MACOSX) || defined(OS_LINUX)
73 };
74
75 const size_t kColumnsSize = arraysize(kColumns);
76
77 const char kSortColumnIdKey[] = "sort_column_id";
78 const char kSortIsAscendingKey[] = "sort_is_ascending";
79
80 // We can't use the integer IDs of the columns converted to strings as session
81 // restore keys. These integer values can change from one build to another as
82 // they are generated. Instead we use the literal string value of the column
83 // ID symbol (i.e. for the ID IDS_TASK_MANAGER_TASK_COLUMN, we use the literal
84 // string "IDS_TASK_MANAGER_TASK_COLUMN". The following macros help us
85 // efficiently get the literal ID for the integer value.
86 #define COLUMNS_LITS(def) \
87 def(IDS_TASK_MANAGER_TASK_COLUMN) \
88 def(IDS_TASK_MANAGER_PROFILE_NAME_COLUMN) \
89 def(IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN) \
90 def(IDS_TASK_MANAGER_SHARED_MEM_COLUMN) \
91 def(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN) \
92 def(IDS_TASK_MANAGER_CPU_COLUMN) \
93 def(IDS_TASK_MANAGER_NET_COLUMN) \
94 def(IDS_TASK_MANAGER_PROCESS_ID_COLUMN) \
95 def(IDS_TASK_MANAGER_GDI_HANDLES_COLUMN) \
96 def(IDS_TASK_MANAGER_USER_HANDLES_COLUMN) \
97 def(IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN) \
98 def(IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN) \
99 def(IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN) \
100 def(IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN) \
101 def(IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN) \
102 def(IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN) \
103 def(IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN) \
104 def(IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN)
105 // Add to the above list in the macro any new IDs added in the future. Also
106 // remove the removed ones.
107
108 #define COLUMN_ID_AS_STRING(col_id) case col_id: return std::string(#col_id);
109
110 std::string GetColumnIdAsString(int column_id) {
111 switch (column_id) {
112 COLUMNS_LITS(COLUMN_ID_AS_STRING)
113 default:
114 NOTREACHED();
115 return std::string();
116 }
117 }
118
119
120 } // namespace task_management
OLDNEW
« 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