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

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

Issue 8462009: WebUI TaskManager: Add "Activate page" feature. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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
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/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 return Value::CreateIntegerValue(tm->GetGoatsTeleported(i)); 113 return Value::CreateIntegerValue(tm->GetGoatsTeleported(i));
114 if (column_name == "v8MemoryAllocatedSize") 114 if (column_name == "v8MemoryAllocatedSize")
115 return Value::CreateStringValue(tm->GetResourceV8MemoryAllocatedSize(i)); 115 return Value::CreateStringValue(tm->GetResourceV8MemoryAllocatedSize(i));
116 if (column_name == "v8MemoryAllocatedSizeValue") { 116 if (column_name == "v8MemoryAllocatedSizeValue") {
117 size_t v8_memory; 117 size_t v8_memory;
118 tm->GetV8Memory(i, &v8_memory); 118 tm->GetV8Memory(i, &v8_memory);
119 return Value::CreateDoubleValue(v8_memory); 119 return Value::CreateDoubleValue(v8_memory);
120 } 120 }
121 if (column_name == "canInspect") 121 if (column_name == "canInspect")
122 return Value::CreateBooleanValue(tm->CanInspect(i)); 122 return Value::CreateBooleanValue(tm->CanInspect(i));
123 if (column_name == "canActivate")
124 return Value::CreateBooleanValue(tm->CanActivate(i));
123 125
124 NOTREACHED(); 126 NOTREACHED();
125 return NULL; 127 return NULL;
126 } 128 }
127 129
128 static void CreateGroupColumnList(const TaskManagerModel* tm, 130 static void CreateGroupColumnList(const TaskManagerModel* tm,
129 const std::string column_name, 131 const std::string column_name,
130 const int index, 132 const int index,
131 const int length, 133 const int length,
132 DictionaryValue* val) { 134 DictionaryValue* val) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 CreateGroupColumnList(tm, "icon", index, length, val); 184 CreateGroupColumnList(tm, "icon", index, length, val);
183 CreateGroupColumnList(tm, "title", index, length, val); 185 CreateGroupColumnList(tm, "title", index, length, val);
184 CreateGroupColumnList(tm, "profileName", index, length, val); 186 CreateGroupColumnList(tm, "profileName", index, length, val);
185 CreateGroupColumnList(tm, "networkUsage", index, length, val); 187 CreateGroupColumnList(tm, "networkUsage", index, length, val);
186 CreateGroupColumnList(tm, "networkUsageValue", index, length, val); 188 CreateGroupColumnList(tm, "networkUsageValue", index, length, val);
187 CreateGroupColumnList(tm, "fps", index, length, val); 189 CreateGroupColumnList(tm, "fps", index, length, val);
188 CreateGroupColumnList(tm, "fpsValue", index, length, val); 190 CreateGroupColumnList(tm, "fpsValue", index, length, val);
189 CreateGroupColumnList(tm, "goatsTeleported", index, length, val); 191 CreateGroupColumnList(tm, "goatsTeleported", index, length, val);
190 CreateGroupColumnList(tm, "goatsTeleportedValue", index, length, val); 192 CreateGroupColumnList(tm, "goatsTeleportedValue", index, length, val);
191 CreateGroupColumnList(tm, "canInspect", index, length, val); 193 CreateGroupColumnList(tm, "canInspect", index, length, val);
194 CreateGroupColumnList(tm, "canActivate", index, length, val);
192 195
193 return val; 196 return val;
194 } 197 }
195 198
196 } // namespace 199 } // namespace
197 200
198 TaskManagerHandler::TaskManagerHandler(TaskManager* tm) 201 TaskManagerHandler::TaskManagerHandler(TaskManager* tm)
199 : task_manager_(tm), 202 : task_manager_(tm),
200 model_(tm->model()), 203 model_(tm->model()),
201 is_enabled_(false) { 204 is_enabled_(false) {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 void TaskManagerHandler::Init() { 306 void TaskManagerHandler::Init() {
304 } 307 }
305 308
306 void TaskManagerHandler::RegisterMessages() { 309 void TaskManagerHandler::RegisterMessages() {
307 web_ui_->RegisterMessageCallback("killProcess", 310 web_ui_->RegisterMessageCallback("killProcess",
308 base::Bind(&TaskManagerHandler::HandleKillProcess, 311 base::Bind(&TaskManagerHandler::HandleKillProcess,
309 base::Unretained(this))); 312 base::Unretained(this)));
310 web_ui_->RegisterMessageCallback("inspect", 313 web_ui_->RegisterMessageCallback("inspect",
311 base::Bind(&TaskManagerHandler::HandleInspect, 314 base::Bind(&TaskManagerHandler::HandleInspect,
312 base::Unretained(this))); 315 base::Unretained(this)));
316 web_ui_->RegisterMessageCallback("activatePage",
317 base::Bind(&TaskManagerHandler::HandleActivatePage,
318 base::Unretained(this)));
313 web_ui_->RegisterMessageCallback("openAboutMemory", 319 web_ui_->RegisterMessageCallback("openAboutMemory",
314 base::Bind(&TaskManagerHandler::OpenAboutMemory, 320 base::Bind(&TaskManagerHandler::OpenAboutMemory,
315 base::Unretained(this))); 321 base::Unretained(this)));
316 web_ui_->RegisterMessageCallback("enableTaskManager", 322 web_ui_->RegisterMessageCallback("enableTaskManager",
317 base::Bind(&TaskManagerHandler::EnableTaskManager, 323 base::Bind(&TaskManagerHandler::EnableTaskManager,
318 base::Unretained(this))); 324 base::Unretained(this)));
319 web_ui_->RegisterMessageCallback("disableTaskManager", 325 web_ui_->RegisterMessageCallback("disableTaskManager",
320 base::Bind(&TaskManagerHandler::DisableTaskManager, 326 base::Bind(&TaskManagerHandler::DisableTaskManager,
321 base::Unretained(this))); 327 base::Unretained(this)));
322 } 328 }
(...skipping 21 matching lines...) Expand all
344 350
345 int resource_index = model_->GetResourceIndexForGroup(index, 0); 351 int resource_index = model_->GetResourceIndexForGroup(index, 0);
346 if (resource_index == -1) 352 if (resource_index == -1)
347 continue; 353 continue;
348 354
349 LOG(INFO) << "kill PID:" << model_->GetResourceProcessId(resource_index); 355 LOG(INFO) << "kill PID:" << model_->GetResourceProcessId(resource_index);
350 task_manager_->KillProcess(resource_index); 356 task_manager_->KillProcess(resource_index);
351 } 357 }
352 } 358 }
353 359
360 void TaskManagerHandler::HandleActivatePage(const ListValue* resource_index) {
361 for (ListValue::const_iterator i = resource_index->begin();
362 i != resource_index->end(); ++i) {
363 int unique_id = parseIndex(*i);
364 if (unique_id == -1)
365 continue;
366
367 for (int resource_index = 0; resource_index < model_->ResourceCount();
368 ++resource_index) {
369 if (model_->GetResourceUniqueId(resource_index) == unique_id) {
370 task_manager_->ActivateProcess(resource_index);
371 break;
372 }
373 }
374
375 break;
376 }
377 }
378
354 void TaskManagerHandler::HandleInspect(const ListValue* resource_index) { 379 void TaskManagerHandler::HandleInspect(const ListValue* resource_index) {
355 for (ListValue::const_iterator i = resource_index->begin(); 380 for (ListValue::const_iterator i = resource_index->begin();
356 i != resource_index->end(); ++i) { 381 i != resource_index->end(); ++i) {
357 int unique_id = parseIndex(*i); 382 int unique_id = parseIndex(*i);
358 if (unique_id == -1) 383 if (unique_id == -1)
359 continue; 384 continue;
360 385
361 for (int resource_index = 0; resource_index < model_->ResourceCount(); 386 for (int resource_index = 0; resource_index < model_->ResourceCount();
362 ++resource_index) { 387 ++resource_index) {
363 if (model_->GetResourceUniqueId(resource_index) == unique_id) { 388 if (model_->GetResourceUniqueId(resource_index) == unique_id) {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 } 483 }
459 } 484 }
460 485
461 void TaskManagerHandler::OnGroupRemoved(const int group_start, 486 void TaskManagerHandler::OnGroupRemoved(const int group_start,
462 const int group_length) { 487 const int group_length) {
463 base::FundamentalValue start_value(group_start); 488 base::FundamentalValue start_value(group_start);
464 base::FundamentalValue length_value(group_length); 489 base::FundamentalValue length_value(group_length);
465 if (is_enabled_ && is_alive()) 490 if (is_enabled_ && is_alive())
466 web_ui_->CallJavascriptFunction("taskRemoved", start_value, length_value); 491 web_ui_->CallJavascriptFunction("taskRemoved", start_value, length_value);
467 } 492 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/task_manager_handler.h ('k') | chrome/browser/ui/webui/task_manager_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698