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

Side by Side Diff: chrome/browser/ui/webui/task_manager_handler.cc

Issue 7550004: WebUI TaskManager: make it default on Chrome OS (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move the initializing of observer before the loading. Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/task_manager_dialog.cc ('k') | chrome/chrome_tests.gypi » ('j') | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/webui/task_manager_handler.h" 5 #include "chrome/browser/ui/webui/task_manager_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/task_manager/task_manager.h" 12 #include "chrome/browser/task_manager/task_manager.h"
13 #include "chrome/browser/ui/webui/web_ui_util.h" 13 #include "chrome/browser/ui/webui/web_ui_util.h"
14 #include "chrome/common/chrome_notification_types.h"
15 #include "content/common/notification_service.h"
16 #include "content/common/notification_source.h"
14 #include "third_party/skia/include/core/SkBitmap.h" 17 #include "third_party/skia/include/core/SkBitmap.h"
15 18
16 namespace { 19 namespace {
17 20
18 static Value* CreateColumnValue(const TaskManagerModel* tm, 21 static Value* CreateColumnValue(const TaskManagerModel* tm,
19 const std::string column_name, 22 const std::string column_name,
20 const int i) { 23 const int i) {
21 if (column_name == "processId") 24 if (column_name == "processId")
22 return Value::CreateStringValue(tm->GetResourceProcessId(i)); 25 return Value::CreateStringValue(tm->GetResourceProcessId(i));
23 if (column_name == "processIdValue") 26 if (column_name == "processIdValue")
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 if (group_start == group_end) 240 if (group_start == group_end)
238 return; 241 return;
239 else 242 else
240 group_end--; 243 group_end--;
241 } 244 }
242 245
243 OnGroupAdded(group_start, group_end - group_start + 1); 246 OnGroupAdded(group_start, group_end - group_start + 1);
244 } 247 }
245 248
246 void TaskManagerHandler::OnItemsRemoved(const int start, const int length) { 249 void TaskManagerHandler::OnItemsRemoved(const int start, const int length) {
250 // Returns if this is called before updating |resource_to_group_table_|.
251 if (resource_to_group_table_.size() < static_cast<size_t>(start + length))
252 return;
253
247 // Converts from an index of resources to an index of groups. 254 // Converts from an index of resources to an index of groups.
248 int group_start = resource_to_group_table_[start]; 255 int group_start = resource_to_group_table_[start];
249 int group_end = resource_to_group_table_[start + length - 1]; 256 int group_end = resource_to_group_table_[start + length - 1];
250 257
251 // First group to remove does not contain all the items in the group. Because 258 // First group to remove does not contain all the items in the group. Because
252 // the first item to remove and the previous one are in same group. 259 // the first item to remove and the previous one are in same group.
253 if (start != 0 && group_start == resource_to_group_table_[start - 1]) { 260 if (start != 0 && group_start == resource_to_group_table_[start - 1]) {
254 OnGroupChanged(group_start, 1); 261 OnGroupChanged(group_start, 1);
255 if (group_start == group_end) 262 if (group_start == group_end)
256 return; 263 return;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 model_->RemoveObserver(this); 332 model_->RemoveObserver(this);
326 } 333 }
327 334
328 void TaskManagerHandler::EnableTaskManager(const ListValue* indexes) { 335 void TaskManagerHandler::EnableTaskManager(const ListValue* indexes) {
329 if (is_enabled_) 336 if (is_enabled_)
330 return; 337 return;
331 338
332 is_enabled_ = true; 339 is_enabled_ = true;
333 model_->AddObserver(this); 340 model_->AddObserver(this);
334 model_->StartUpdating(); 341 model_->StartUpdating();
342
343 NotificationService::current()->Notify(
344 chrome::NOTIFICATION_TASK_MANAGER_WINDOW_READY,
345 Source<TaskManagerModel>(model_),
346 NotificationService::NoDetails());
335 } 347 }
336 348
337 void TaskManagerHandler::OpenAboutMemory(const ListValue* indexes) { 349 void TaskManagerHandler::OpenAboutMemory(const ListValue* indexes) {
338 task_manager_->OpenAboutMemory(); 350 task_manager_->OpenAboutMemory();
339 } 351 }
340 352
341 // TaskManagerHandler, private: ----------------------------------------------- 353 // TaskManagerHandler, private: -----------------------------------------------
342 354
343 void TaskManagerHandler::UpdateResourceGroupTable(int start, int length) { 355 void TaskManagerHandler::UpdateResourceGroupTable(int start, int length) {
344 if (resource_to_group_table_.size() < static_cast<size_t>(start)) { 356 if (resource_to_group_table_.size() < static_cast<size_t>(start)) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 } 398 }
387 399
388 void TaskManagerHandler::OnGroupRemoved(const int group_start, 400 void TaskManagerHandler::OnGroupRemoved(const int group_start,
389 const int group_length) { 401 const int group_length) {
390 FundamentalValue start_value(group_start); 402 FundamentalValue start_value(group_start);
391 FundamentalValue length_value(group_length); 403 FundamentalValue length_value(group_length);
392 if (is_enabled_) 404 if (is_enabled_)
393 web_ui_->CallJavascriptFunction("taskRemoved", start_value, length_value); 405 web_ui_->CallJavascriptFunction("taskRemoved", start_value, length_value);
394 } 406 }
395 407
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/task_manager_dialog.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698