Index: chrome/browser/ui/webui/task_manager_handler.cc |
diff --git a/chrome/browser/ui/webui/task_manager_handler.cc b/chrome/browser/ui/webui/task_manager_handler.cc |
index 856179e9610f05f14d99b44b385c473574f02882..0423ea05a142fea84877c7b6bc77ec9f51e10bea 100644 |
--- a/chrome/browser/ui/webui/task_manager_handler.cc |
+++ b/chrome/browser/ui/webui/task_manager_handler.cc |
@@ -120,6 +120,8 @@ static Value* CreateColumnValue(const TaskManagerModel* tm, |
} |
if (column_name == "canInspect") |
return Value::CreateBooleanValue(tm->CanInspect(i)); |
+ if (column_name == "canActivate") |
+ return Value::CreateBooleanValue(tm->CanActivate(i)); |
NOTREACHED(); |
return NULL; |
@@ -189,6 +191,7 @@ static DictionaryValue* CreateTaskGroupValue(const TaskManagerModel* tm, |
CreateGroupColumnList(tm, "goatsTeleported", index, length, val); |
CreateGroupColumnList(tm, "goatsTeleportedValue", index, length, val); |
CreateGroupColumnList(tm, "canInspect", index, length, val); |
+ CreateGroupColumnList(tm, "canActivate", index, length, val); |
return val; |
} |
@@ -310,6 +313,9 @@ void TaskManagerHandler::RegisterMessages() { |
web_ui_->RegisterMessageCallback("inspect", |
base::Bind(&TaskManagerHandler::HandleInspect, |
base::Unretained(this))); |
+ web_ui_->RegisterMessageCallback("activatePage", |
+ base::Bind(&TaskManagerHandler::HandleActivatePage, |
+ base::Unretained(this))); |
web_ui_->RegisterMessageCallback("openAboutMemory", |
base::Bind(&TaskManagerHandler::OpenAboutMemory, |
base::Unretained(this))); |
@@ -351,6 +357,25 @@ void TaskManagerHandler::HandleKillProcess(const ListValue* indexes) { |
} |
} |
+void TaskManagerHandler::HandleActivatePage(const ListValue* resource_index) { |
+ for (ListValue::const_iterator i = resource_index->begin(); |
+ i != resource_index->end(); ++i) { |
+ int unique_id = parseIndex(*i); |
+ if (unique_id == -1) |
+ continue; |
+ |
+ for (int resource_index = 0; resource_index < model_->ResourceCount(); |
+ ++resource_index) { |
+ if (model_->GetResourceUniqueId(resource_index) == unique_id) { |
+ task_manager_->ActivateProcess(resource_index); |
+ break; |
+ } |
+ } |
+ |
+ break; |
+ } |
+} |
+ |
void TaskManagerHandler::HandleInspect(const ListValue* resource_index) { |
for (ListValue::const_iterator i = resource_index->begin(); |
i != resource_index->end(); ++i) { |