| 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 85cf92b829ddc39d5332bf2c1f58970fd730c137..32b3fd7b7fddbc9745394a40be45fffdccaf2c47 100644
|
| --- a/chrome/browser/automation/testing_automation_provider.cc
|
| +++ b/chrome/browser/automation/testing_automation_provider.cc
|
| @@ -411,8 +411,6 @@ bool TestingAutomationProvider::OnMessageReceived(
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(AutomationMsg_ActionOnSSLBlockingPage,
|
| ActionOnSSLBlockingPage)
|
| IPC_MESSAGE_HANDLER(AutomationMsg_BringBrowserToFront, BringBrowserToFront)
|
| - IPC_MESSAGE_HANDLER(AutomationMsg_OpenFindInPage,
|
| - HandleOpenFindInPageRequest)
|
| IPC_MESSAGE_HANDLER(AutomationMsg_FindWindowVisibility,
|
| GetFindWindowVisibility)
|
| IPC_MESSAGE_HANDLER(AutomationMsg_BookmarkBarVisibility,
|
| @@ -451,7 +449,6 @@ bool TestingAutomationProvider::OnMessageReceived(
|
| WaitForTabCountToBecome)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(AutomationMsg_WaitForInfoBarCount,
|
| WaitForInfoBarCount)
|
| - IPC_MESSAGE_HANDLER(AutomationMsg_ResetToDefaultTheme, ResetToDefaultTheme)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(
|
| AutomationMsg_WaitForProcessLauncherThreadToGoIdle,
|
| WaitForProcessLauncherThreadToGoIdle)
|
| @@ -1164,6 +1161,45 @@ void TestingAutomationProvider::OpenNewBrowserWindowOfType(
|
| browser->window()->Show();
|
| }
|
|
|
| +void TestingAutomationProvider::OpenNewBrowserWindow(
|
| + base::DictionaryValue* args,
|
| + IPC::Message* reply_message) {
|
| + AutomationJSONReply reply(this, reply_message);
|
| + bool show;
|
| + if (!args->GetBoolean("show", &show)) {
|
| + reply.SendError("'show' missing or invalid.");
|
| + return;
|
| + }
|
| + new BrowserOpenedNotificationObserver(this, reply_message, true);
|
| + Browser* browser = new Browser(
|
| + Browser::CreateParams(Browser::TYPE_TABBED, profile_));
|
| + chrome::AddBlankTab(browser, true);
|
| + if (show)
|
| + browser->window()->Show();
|
| +}
|
| +
|
| +void TestingAutomationProvider::GetBrowserWindowCountJSON(
|
| + base::DictionaryValue* args,
|
| + IPC::Message* reply_message) {
|
| + DictionaryValue dict;
|
| + dict.SetInteger("count", static_cast<int>(BrowserList::size()));
|
| + AutomationJSONReply(this, reply_message).SendSuccess(&dict);
|
| +}
|
| +
|
| +void TestingAutomationProvider::CloseBrowserWindow(
|
| + base::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;
|
| + }
|
| + new BrowserClosedNotificationObserver(browser, this, reply_message, true);
|
| + browser->window()->Close();
|
| +}
|
| +
|
| void TestingAutomationProvider::OpenProfileWindow(
|
| base::DictionaryValue* args, IPC::Message* reply_message) {
|
| ProfileManager* profile_manager = g_browser_process->profile_manager();
|
| @@ -1313,14 +1349,6 @@ void TestingAutomationProvider::BringBrowserToFront(int browser_handle,
|
| }
|
| }
|
|
|
| -void TestingAutomationProvider::HandleOpenFindInPageRequest(
|
| - const IPC::Message& message, int handle) {
|
| - if (browser_tracker_->ContainsHandle(handle)) {
|
| - Browser* browser = browser_tracker_->GetResource(handle);
|
| - chrome::FindInPage(browser, false, false);
|
| - }
|
| -}
|
| -
|
| void TestingAutomationProvider::GetFindWindowVisibility(int handle,
|
| bool* visible) {
|
| *visible = false;
|
| @@ -1614,6 +1642,10 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() {
|
| &TestingAutomationProvider::GetActiveTabIndexJSON;
|
| handler_map_["AppendTab"] =
|
| &TestingAutomationProvider::AppendTabJSON;
|
| + handler_map_["OpenNewBrowserWindow"] =
|
| + &TestingAutomationProvider::OpenNewBrowserWindow;
|
| + handler_map_["CloseBrowserWindow"] =
|
| + &TestingAutomationProvider::CloseBrowserWindow;
|
| handler_map_["WaitUntilNavigationCompletes"] =
|
| &TestingAutomationProvider::WaitUntilNavigationCompletes;
|
| handler_map_["GetLocalStatePrefsInfo"] =
|
| @@ -1640,6 +1672,10 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() {
|
| &TestingAutomationProvider::GoBack;
|
| handler_map_["Reload"] =
|
| &TestingAutomationProvider::ReloadJSON;
|
| + handler_map_["OpenFindInPage"] =
|
| + &TestingAutomationProvider::OpenFindInPage;
|
| + handler_map_["IsFindInPageVisible"] =
|
| + &TestingAutomationProvider::IsFindInPageVisible;
|
| handler_map_["CaptureEntirePage"] =
|
| &TestingAutomationProvider::CaptureEntirePageJSON;
|
| handler_map_["SetDownloadShelfVisible"] =
|
| @@ -1706,6 +1742,8 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() {
|
| &TestingAutomationProvider::IsPageActionVisible;
|
| handler_map_["CreateNewAutomationProvider"] =
|
| &TestingAutomationProvider::CreateNewAutomationProvider;
|
| + handler_map_["GetBrowserWindowCount"] =
|
| + &TestingAutomationProvider::GetBrowserWindowCountJSON;
|
| handler_map_["GetBrowserInfo"] =
|
| &TestingAutomationProvider::GetBrowserInfo;
|
| handler_map_["GetTabInfo"] =
|
| @@ -1912,6 +1950,8 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() {
|
| &TestingAutomationProvider::GetBlockedPopupsInfo;
|
| browser_handler_map_["UnblockAndLaunchBlockedPopup"] =
|
| &TestingAutomationProvider::UnblockAndLaunchBlockedPopup;
|
| + handler_map_["ResetToDefaultTheme"] =
|
| + &TestingAutomationProvider::ResetToDefaultTheme;
|
|
|
| // SetTheme() implemented using InstallExtension().
|
| browser_handler_map_["GetThemeInfo"] =
|
| @@ -3802,6 +3842,39 @@ void TestingAutomationProvider::FindInPage(
|
| reply_message);
|
| }
|
|
|
| +void TestingAutomationProvider::OpenFindInPage(
|
| + 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;
|
| + }
|
| + chrome::FindInPage(browser, false, false);
|
| + reply.SendSuccess(NULL);
|
| +}
|
| +
|
| +void TestingAutomationProvider::IsFindInPageVisible(
|
| + DictionaryValue* args,
|
| + IPC::Message* reply_message) {
|
| + AutomationJSONReply reply(this, reply_message);
|
| + bool visible;
|
| + Browser* browser;
|
| + std::string error_msg;
|
| + if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) {
|
| + reply.SendError(error_msg);
|
| + return;
|
| + }
|
| + FindBarTesting* find_bar =
|
| + browser->GetFindBarController()->find_bar()->GetFindBarTesting();
|
| + find_bar->GetFindBarWindowInfo(NULL, &visible);
|
| + DictionaryValue dict;
|
| + dict.SetBoolean("is_visible", visible);
|
| + reply.SendSuccess(&dict);
|
| +}
|
| +
|
| // See GetTranslateInfo() in chrome/test/pyautolib/pyauto.py for sample json
|
| // input and output.
|
| void TestingAutomationProvider::GetTranslateInfo(
|
| @@ -6954,6 +7027,20 @@ void TestingAutomationProvider::ActivateTabJSON(
|
| reply.SendSuccess(NULL);
|
| }
|
|
|
| +void TestingAutomationProvider::ResetToDefaultTheme(
|
| + base::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;
|
| + }
|
| + ThemeServiceFactory::GetForProfile(browser->profile())->UseDefaultTheme();
|
| + reply.SendSuccess(NULL);
|
| +}
|
| +
|
| void TestingAutomationProvider::IsPageActionVisible(
|
| base::DictionaryValue* args,
|
| IPC::Message* reply_message) {
|
| @@ -7072,10 +7159,6 @@ void TestingAutomationProvider::WaitForInfoBarCount(
|
| TabContents::FromWebContents(controller->GetWebContents()), target_count);
|
| }
|
|
|
| -void TestingAutomationProvider::ResetToDefaultTheme() {
|
| - ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme();
|
| -}
|
| -
|
| void TestingAutomationProvider::WaitForProcessLauncherThreadToGoIdle(
|
| IPC::Message* reply_message) {
|
| new WaitForProcessLauncherThreadToGoIdleObserver(this, reply_message);
|
|
|