| 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 d892388f609154fc306b555b959c284e1a0b3004..5e46d36445e7eb0b2f505a2c7055bb6aa44b8a75 100644
|
| --- a/chrome/browser/automation/testing_automation_provider.cc
|
| +++ b/chrome/browser/automation/testing_automation_provider.cc
|
| @@ -78,6 +78,7 @@
|
| #include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h"
|
| #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h"
|
| #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h"
|
| +#include "chrome/browser/ui/browser_init.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| #include "chrome/browser/ui/find_bar/find_bar.h"
|
| #include "chrome/browser/ui/login/login_prompt.h"
|
| @@ -2213,6 +2214,8 @@ void TestingAutomationProvider::SendJSONRequest(int handle,
|
| &TestingAutomationProvider::GetChromeDriverAutomationVersion;
|
| handler_map["UpdateExtensionsNow"] =
|
| &TestingAutomationProvider::UpdateExtensionsNow;
|
| + handler_map["CreateNewAutomationProvider"] =
|
| + &TestingAutomationProvider::CreateNewAutomationProvider;
|
| #if defined(OS_CHROMEOS)
|
| handler_map["GetLoginInfo"] = &TestingAutomationProvider::GetLoginInfo;
|
| handler_map["ShowCreateAccountUI"] =
|
| @@ -5993,6 +5996,24 @@ void TestingAutomationProvider::GetChromeDriverAutomationVersion(
|
| AutomationJSONReply(this, reply_message).SendSuccess(&reply_dict);
|
| }
|
|
|
| +void TestingAutomationProvider::CreateNewAutomationProvider(
|
| + DictionaryValue* args,
|
| + IPC::Message* reply_message) {
|
| + AutomationJSONReply reply(this, reply_message);
|
| + std::string channel_id;
|
| + if (!args->GetString("channel_id", &channel_id)) {
|
| + reply.SendError("'channel_id' missing or invalid");
|
| + return;
|
| + }
|
| +
|
| + if (!BrowserInit::CreateAutomationProvider<TestingAutomationProvider>(
|
| + automation::kNamedInterfacePrefix + channel_id, profile_, 0)) {
|
| + reply.SendError("Failed to initialize channel: " + channel_id);
|
| + return;
|
| + }
|
| + reply.SendSuccess(NULL);
|
| +}
|
| +
|
| void TestingAutomationProvider::WaitForTabCountToBecome(
|
| int browser_handle,
|
| int target_tab_count,
|
|
|