summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/automation/automation_provider.cc')
-rw-r--r--chrome/browser/automation/automation_provider.cc63
1 files changed, 15 insertions, 48 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc
index 65dc5a3..ec48e7a 100644
--- a/chrome/browser/automation/automation_provider.cc
+++ b/chrome/browser/automation/automation_provider.cc
@@ -113,9 +113,7 @@ using base::Time;
AutomationProvider::AutomationProvider(Profile* profile)
: profile_(profile),
- reply_message_(NULL),
- is_connected_(false),
- initial_loads_complete_(false) {
+ reply_message_(NULL) {
TRACE_EVENT_BEGIN("AutomationProvider::AutomationProvider", 0, "");
browser_tracker_.reset(new AutomationBrowserTracker(this));
@@ -151,38 +149,23 @@ AutomationProvider::~AutomationProvider() {
g_browser_process->ReleaseModule();
}
-bool AutomationProvider::InitializeChannel(const std::string& channel_id) {
- TRACE_EVENT_BEGIN("AutomationProvider::InitializeChannel", 0, "");
-
- std::string effective_channel_id = channel_id;
-
- // If the channel_id starts with kNamedInterfacePrefix, create a named IPC
- // server and listen on it, else connect as client to an existing IPC server
- bool use_named_interface =
- channel_id.find(automation::kNamedInterfacePrefix) == 0;
- if (use_named_interface) {
- effective_channel_id = channel_id.substr(
- strlen(automation::kNamedInterfacePrefix));
- if (effective_channel_id.length() <= 0)
- return false;
- }
+void AutomationProvider::ConnectToChannel(const std::string& channel_id) {
+ TRACE_EVENT_BEGIN("AutomationProvider::ConnectToChannel", 0, "");
if (!automation_resource_message_filter_.get()) {
automation_resource_message_filter_ = new AutomationResourceMessageFilter;
}
- channel_.reset(new IPC::SyncChannel(
- effective_channel_id,
- use_named_interface ? IPC::Channel::MODE_NAMED_SERVER
- : IPC::Channel::MODE_CLIENT,
- this,
- automation_resource_message_filter_,
- g_browser_process->io_thread()->message_loop(),
- true, g_browser_process->shutdown_event()));
+ channel_.reset(
+ new IPC::SyncChannel(channel_id, IPC::Channel::MODE_CLIENT, this,
+ automation_resource_message_filter_,
+ g_browser_process->io_thread()->message_loop(),
+ true, g_browser_process->shutdown_event()));
- TRACE_EVENT_END("AutomationProvider::InitializeChannel", 0, "");
+ // Send a hello message with our current automation protocol version.
+ channel_->Send(new AutomationMsg_Hello(0, GetProtocolVersion().c_str()));
- return true;
+ TRACE_EVENT_END("AutomationProvider::ConnectToChannel", 0, "");
}
std::string AutomationProvider::GetProtocolVersion() {
@@ -191,16 +174,11 @@ std::string AutomationProvider::GetProtocolVersion() {
}
void AutomationProvider::SetExpectedTabCount(size_t expected_tabs) {
- if (expected_tabs == 0)
- OnInitialLoadsComplete();
- else
- initial_load_observer_.reset(new InitialLoadObserver(expected_tabs, this));
-}
-
-void AutomationProvider::OnInitialLoadsComplete() {
- initial_loads_complete_ = true;
- if (is_connected_)
+ if (expected_tabs == 0) {
Send(new AutomationMsg_InitialLoadsComplete(0));
+ } else {
+ initial_load_observer_.reset(new InitialLoadObserver(expected_tabs, this));
+ }
}
NotificationObserver* AutomationProvider::AddNavigationStatusListener(
@@ -349,17 +327,6 @@ const Extension* AutomationProvider::GetDisabledExtension(
return NULL;
}
-void AutomationProvider::OnChannelConnected(int pid) {
- is_connected_ = true;
- LOG(INFO) << "Testing channel connected, sending hello message";
-
- // Send a hello message with our current automation protocol version.
- chrome::VersionInfo version_info;
- channel_->Send(new AutomationMsg_Hello(0, version_info.Version()));
- if (initial_loads_complete_)
- Send(new AutomationMsg_InitialLoadsComplete(0));
-}
-
void AutomationProvider::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(AutomationProvider, message)
#if !defined(OS_MACOSX)