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

Side by Side Diff: chrome/browser/ui/views/task_manager_view.cc

Issue 5865005: Turn off groups in task manager, as we're rolling out that functionality in (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome
Patch Set: Created 10 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/task_manager/task_manager.h" 5 #include "chrome/browser/task_manager/task_manager.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/table_model_observer.h" 8 #include "app/table_model_observer.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/stats_table.h" 10 #include "base/metrics/stats_table.h"
(...skipping 19 matching lines...) Expand all
30 #include "views/controls/table/table_view_observer.h" 30 #include "views/controls/table/table_view_observer.h"
31 #include "views/standard_layout.h" 31 #include "views/standard_layout.h"
32 #include "views/widget/widget.h" 32 #include "views/widget/widget.h"
33 #include "views/window/dialog_delegate.h" 33 #include "views/window/dialog_delegate.h"
34 #include "views/window/window.h" 34 #include "views/window/window.h"
35 35
36 // The task manager window default size. 36 // The task manager window default size.
37 static const int kDefaultWidth = 460; 37 static const int kDefaultWidth = 460;
38 static const int kDefaultHeight = 270; 38 static const int kDefaultHeight = 270;
39 39
40 // The group IDs used to separate background pages from foreground tabs.
41 static const int kBackgroundGroupId = 0;
42 static const int kForegroundGroupId = 1;
43
44 namespace { 40 namespace {
45 41
46 //////////////////////////////////////////////////////////////////////////////// 42 ////////////////////////////////////////////////////////////////////////////////
47 // TaskManagerTableModel class 43 // TaskManagerTableModel class
48 //////////////////////////////////////////////////////////////////////////////// 44 ////////////////////////////////////////////////////////////////////////////////
49 45
50 class TaskManagerTableModel : public views::GroupTableModel, 46 class TaskManagerTableModel : public views::GroupTableModel,
51 public TaskManagerModelObserver { 47 public TaskManagerModelObserver {
52 public: 48 public:
53 explicit TaskManagerTableModel(TaskManagerModel* model) 49 explicit TaskManagerTableModel(TaskManagerModel* model)
54 : model_(model), 50 : model_(model),
55 observer_(NULL) { 51 observer_(NULL) {
56 model_->AddObserver(this); 52 model_->AddObserver(this);
57 } 53 }
58 54
59 ~TaskManagerTableModel() { 55 ~TaskManagerTableModel() {
60 model_->RemoveObserver(this); 56 model_->RemoveObserver(this);
61 } 57 }
62 58
63 // GroupTableModel. 59 // GroupTableModel.
64 int RowCount(); 60 int RowCount();
65 std::wstring GetText(int row, int column); 61 std::wstring GetText(int row, int column);
66 SkBitmap GetIcon(int row); 62 SkBitmap GetIcon(int row);
67 bool ShouldIndent(int row);
68 void GetGroupRangeForItem(int item, views::GroupRange* range); 63 void GetGroupRangeForItem(int item, views::GroupRange* range);
69 void SetObserver(TableModelObserver* observer); 64 void SetObserver(TableModelObserver* observer);
70 virtual int CompareValues(int row1, int row2, int column_id); 65 virtual int CompareValues(int row1, int row2, int column_id);
71 virtual Groups GetGroups();
72 virtual bool HasGroups();
73 virtual int GetGroupID(int row);
74 66
75 // TaskManagerModelObserver. 67 // TaskManagerModelObserver.
76 virtual void OnModelChanged(); 68 virtual void OnModelChanged();
77 virtual void OnItemsChanged(int start, int length); 69 virtual void OnItemsChanged(int start, int length);
78 virtual void OnItemsAdded(int start, int length); 70 virtual void OnItemsAdded(int start, int length);
79 virtual void OnItemsRemoved(int start, int length); 71 virtual void OnItemsRemoved(int start, int length);
80 72
81 private: 73 private:
82 TaskManagerModel* model_; 74 TaskManagerModel* model_;
83 TableModelObserver* observer_; 75 TableModelObserver* observer_;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 default: 143 default:
152 NOTREACHED(); 144 NOTREACHED();
153 return std::wstring(); 145 return std::wstring();
154 } 146 }
155 } 147 }
156 148
157 SkBitmap TaskManagerTableModel::GetIcon(int row) { 149 SkBitmap TaskManagerTableModel::GetIcon(int row) {
158 return model_->GetResourceIcon(row); 150 return model_->GetResourceIcon(row);
159 } 151 }
160 152
161 bool TaskManagerTableModel::ShouldIndent(int row) {
162 return !model_->IsResourceFirstInGroup(row);
163 }
164 153
165 void TaskManagerTableModel::GetGroupRangeForItem(int item, 154 void TaskManagerTableModel::GetGroupRangeForItem(int item,
166 views::GroupRange* range) { 155 views::GroupRange* range) {
167 std::pair<int, int> range_pair = model_->GetGroupRangeForResource(item); 156 std::pair<int, int> range_pair = model_->GetGroupRangeForResource(item);
168 range->start = range_pair.first; 157 range->start = range_pair.first;
169 range->length = range_pair.second; 158 range->length = range_pair.second;
170 } 159 }
171 160
172 void TaskManagerTableModel::SetObserver(TableModelObserver* observer) { 161 void TaskManagerTableModel::SetObserver(TableModelObserver* observer) {
173 observer_ = observer; 162 observer_ = observer;
174 } 163 }
175 164
176 int TaskManagerTableModel::CompareValues(int row1, int row2, int column_id) { 165 int TaskManagerTableModel::CompareValues(int row1, int row2, int column_id) {
177 return model_->CompareValues(row1, row2, column_id); 166 return model_->CompareValues(row1, row2, column_id);
178 } 167 }
179 168
180 bool TaskManagerTableModel::HasGroups() {
181 return true;
182 }
183
184 int TaskManagerTableModel::GetGroupID(int row) {
185 // If there are any background resources in the group range, put the whole
186 // range in the background group.
187 std::pair<int, int> range_pair = model_->GetGroupRangeForResource(row);
188 for (int i = range_pair.first;
189 i < range_pair.first + range_pair.second;
190 ++i) {
191 if (model_->IsBackgroundResource(i))
192 return kBackgroundGroupId;
193 }
194 return kForegroundGroupId;
195 }
196
197 TableModel::Groups TaskManagerTableModel::GetGroups() {
198 Groups groups;
199
200 Group background_group;
201 background_group.title =
202 l10n_util::GetString(IDS_TASK_MANAGER_BACKGROUND_SEPARATOR);
203 background_group.id = kBackgroundGroupId;
204 groups.push_back(background_group);
205
206 Group foreground_group;
207 foreground_group.title =
208 l10n_util::GetString(IDS_TASK_MANAGER_FOREGROUND_SEPARATOR);
209 foreground_group.id = kForegroundGroupId;
210 groups.push_back(foreground_group);
211
212 return groups;
213 }
214
215 void TaskManagerTableModel::OnModelChanged() { 169 void TaskManagerTableModel::OnModelChanged() {
216 if (observer_) 170 if (observer_)
217 observer_->OnModelChanged(); 171 observer_->OnModelChanged();
218 } 172 }
219 173
220 void TaskManagerTableModel::OnItemsChanged(int start, int length) { 174 void TaskManagerTableModel::OnItemsChanged(int start, int length) {
221 if (observer_) 175 if (observer_)
222 observer_->OnItemsChanged(start, length); 176 observer_->OnItemsChanged(start, length);
223 } 177 }
224 178
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 305
352 TaskManagerView::~TaskManagerView() { 306 TaskManagerView::~TaskManagerView() {
353 // Delete child views now, while our table model still exists. 307 // Delete child views now, while our table model still exists.
354 RemoveAllChildViews(true); 308 RemoveAllChildViews(true);
355 } 309 }
356 310
357 void TaskManagerView::Init() { 311 void TaskManagerView::Init() {
358 table_model_.reset(new TaskManagerTableModel(model_)); 312 table_model_.reset(new TaskManagerTableModel(model_));
359 313
360 // Page column has no header label. 314 // Page column has no header label.
361 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PAGE_COLUMN, L"", 315 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PAGE_COLUMN,
362 TableColumn::LEFT, -1, 1)); 316 TableColumn::LEFT, -1, 1));
363 columns_.back().sortable = true; 317 columns_.back().sortable = true;
364 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN, 318 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN,
365 TableColumn::RIGHT, -1, 0)); 319 TableColumn::RIGHT, -1, 0));
366 columns_.back().sortable = true; 320 columns_.back().sortable = true;
367 columns_.push_back(TableColumn(IDS_TASK_MANAGER_SHARED_MEM_COLUMN, 321 columns_.push_back(TableColumn(IDS_TASK_MANAGER_SHARED_MEM_COLUMN,
368 TableColumn::RIGHT, -1, 0)); 322 TableColumn::RIGHT, -1, 0));
369 columns_.back().sortable = true; 323 columns_.back().sortable = true;
370 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, 324 columns_.push_back(TableColumn(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN,
371 TableColumn::RIGHT, -1, 0)); 325 TableColumn::RIGHT, -1, 0));
(...skipping 19 matching lines...) Expand all
391 columns_.push_back(TableColumn(IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN, 345 columns_.push_back(TableColumn(IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN,
392 TableColumn::RIGHT, -1, 0)); 346 TableColumn::RIGHT, -1, 0));
393 columns_.back().sortable = true; 347 columns_.back().sortable = true;
394 columns_.push_back( 348 columns_.push_back(
395 TableColumn(IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN, 349 TableColumn(IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN,
396 TableColumn::RIGHT, -1, 0)); 350 TableColumn::RIGHT, -1, 0));
397 columns_.back().sortable = true; 351 columns_.back().sortable = true;
398 352
399 tab_table_ = new views::GroupTableView(table_model_.get(), columns_, 353 tab_table_ = new views::GroupTableView(table_model_.get(), columns_,
400 views::ICON_AND_TEXT, false, true, 354 views::ICON_AND_TEXT, false, true,
401 true, false); 355 true, true);
402 356
403 // Hide some columns by default 357 // Hide some columns by default
404 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_PROCESS_ID_COLUMN, false); 358 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_PROCESS_ID_COLUMN, false);
405 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_SHARED_MEM_COLUMN, false); 359 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_SHARED_MEM_COLUMN, false);
406 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, false); 360 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, false);
407 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN, 361 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN,
408 false); 362 false);
409 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN, 363 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN,
410 false); 364 false);
411 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN, 365 tab_table_->SetColumnVisibility(IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN,
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 } // namespace 694 } // namespace
741 695
742 namespace browser { 696 namespace browser {
743 697
744 // Declared in browser_dialogs.h so others don't need to depend on our header. 698 // Declared in browser_dialogs.h so others don't need to depend on our header.
745 void ShowTaskManager() { 699 void ShowTaskManager() {
746 TaskManagerView::Show(); 700 TaskManagerView::Show();
747 } 701 }
748 702
749 } // namespace browser 703 } // namespace browser
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698