Index: chrome/browser/automation/testing_automation_provider.cc |
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc |
index 629c0ab84d9b3e9abea09e975cf461952a44d138..dfc00bff8f6474d9e2511f144cf6d9979ac2be31 100644 |
--- a/chrome/browser/automation/testing_automation_provider.cc |
+++ b/chrome/browser/automation/testing_automation_provider.cc |
@@ -1659,6 +1659,10 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() { |
&TestingAutomationProvider::ExecuteBrowserCommandJSON; |
handler_map_["IsMenuCommandEnabled"] = |
&TestingAutomationProvider::IsMenuCommandEnabledJSON; |
+ handler_map_["ActivateTab"] = |
+ &TestingAutomationProvider::ActivateTabJSON; |
+ handler_map_["BringBrowserToFront"] = |
+ &TestingAutomationProvider::BringBrowserToFrontJSON; |
handler_map_["WaitForAllTabsToStopLoading"] = |
&TestingAutomationProvider::WaitForAllViewsToStopLoading; |
handler_map_["GetIndicesFromTab"] = |
@@ -1751,6 +1755,10 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() { |
&TestingAutomationProvider::CreateNewAutomationProvider; |
handler_map_["GetBrowserInfo"] = |
&TestingAutomationProvider::GetBrowserInfo; |
+ handler_map_["GetTabInfo"] = |
+ &TestingAutomationProvider::GetTabInfo; |
+ handler_map_["GetTabCount"] = |
+ &TestingAutomationProvider::GetTabCountJSON; |
handler_map_["OpenNewBrowserWindowWithNewProfile"] = |
&TestingAutomationProvider::OpenNewBrowserWindowWithNewProfile; |
handler_map_["GetMultiProfileInfo"] = |
@@ -2133,6 +2141,20 @@ void TestingAutomationProvider::SendJSONRequest(Browser* browser, |
} |
} |
+void TestingAutomationProvider::BringBrowserToFrontJSON( |
+ DictionaryValue* args, |
+ IPC::Message* reply_message) { |
+ AutomationJSONReply reply(this, reply_message); |
+ Browser* browser; |
+ std::string error_msg; |
+ if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { |
+ reply.SendError(error_msg); |
+ return; |
+ } |
+ browser->window()->Activate(); |
+ reply.SendSuccess(NULL); |
+} |
+ |
// Sample json input: { "command": "SetWindowDimensions", |
// "x": 20, # optional |
// "y": 20, # optional |
@@ -6483,6 +6505,39 @@ void TestingAutomationProvider::IsMenuCommandEnabledJSON( |
AutomationJSONReply(this, reply_message).SendSuccess(&dict); |
} |
+void TestingAutomationProvider::GetTabInfo( |
+ DictionaryValue* args, |
+ IPC::Message* reply_message) { |
+ AutomationJSONReply reply(this, reply_message); |
+ Browser* browser; |
+ WebContents* tab; |
+ std::string error; |
+ if (GetBrowserAndTabFromJSONArgs(args, &browser, &tab, &error)) { |
+ NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
+ DictionaryValue dict; |
+ dict.SetString("title", entry->GetTitleForDisplay("")); |
+ dict.SetString("url", entry->GetVirtualURL().spec()); |
+ reply.SendSuccess(&dict); |
+ } else { |
+ reply.SendError(error); |
+ } |
+} |
+ |
+void TestingAutomationProvider::GetTabCountJSON( |
+ DictionaryValue* args, |
+ IPC::Message* reply_message) { |
+ AutomationJSONReply reply(this, reply_message); |
+ Browser* browser; |
+ std::string error; |
+ if (!GetBrowserFromJSONArgs(args, &browser, &error)) { |
+ reply.SendError(error); |
+ return; |
+ } |
+ DictionaryValue dict; |
+ dict.SetInteger("tab_count", browser->tab_count()); |
+ reply.SendSuccess(&dict); |
+} |
+ |
void TestingAutomationProvider::GoBack( |
DictionaryValue* args, |
IPC::Message* reply_message) { |