diff options
4 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index 0dbeb36..ec635a9 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -152,7 +152,10 @@ AutomationProvider::~AutomationProvider() { void AutomationProvider::ConnectToChannel(const std::string& channel_id) { TRACE_EVENT_BEGIN("AutomationProvider::ConnectToChannel", 0, ""); - automation_resource_message_filter_ = new AutomationResourceMessageFilter; + if (!automation_resource_message_filter_.get()) { + automation_resource_message_filter_ = new AutomationResourceMessageFilter; + } + channel_.reset( new IPC::SyncChannel(channel_id, IPC::Channel::MODE_CLIENT, this, automation_resource_message_filter_, diff --git a/chrome/browser/automation/automation_provider.h b/chrome/browser/automation/automation_provider.h index 595fad6..3063d2b 100644 --- a/chrome/browser/automation/automation_provider.h +++ b/chrome/browser/automation/automation_provider.h @@ -209,6 +209,9 @@ class AutomationProvider : public base::RefCounted<AutomationProvider>, bool find_next, IPC::Message* reply_message); + scoped_refptr<AutomationResourceMessageFilter> + automation_resource_message_filter_; + private: void OnUnhandledMessage(); @@ -397,8 +400,6 @@ class AutomationProvider : public base::RefCounted<AutomationProvider>, extension_test_result_observer_; scoped_ptr<AutomationExtensionTracker> extension_tracker_; PortContainerMap port_containers_; - scoped_refptr<AutomationResourceMessageFilter> - automation_resource_message_filter_; DISALLOW_COPY_AND_ASSIGN(AutomationProvider); }; diff --git a/chrome_frame/test/net/test_automation_provider.cc b/chrome_frame/test/net/test_automation_provider.cc index ef5528a..db89bc2 100644 --- a/chrome_frame/test/net/test_automation_provider.cc +++ b/chrome_frame/test/net/test_automation_provider.cc @@ -38,7 +38,8 @@ TestAutomationProvider::TestAutomationProvider( TestAutomationProvider::Factory); URLRequest::RegisterProtocolFactory("https", TestAutomationProvider::Factory); - filter_ = new TestAutomationResourceMessageFilter(this); + automation_resource_message_filter_ = + new TestAutomationResourceMessageFilter(this); g_provider_instance_ = this; } @@ -47,7 +48,7 @@ TestAutomationProvider::~TestAutomationProvider() { } void TestAutomationProvider::OnMessageReceived(const IPC::Message& msg) { - if (filter_->OnMessageReceived(msg)) + if (automation_resource_message_filter_->OnMessageReceived(msg)) return; // Message handled by the filter. __super::OnMessageReceived(msg); @@ -89,7 +90,7 @@ URLRequestJob* TestAutomationProvider::Factory(URLRequest* request, static int new_id = 0x00100000; URLRequestAutomationJob* job = new URLRequestAutomationJob(request, g_provider_instance_->tab_handle_, new_id++, - g_provider_instance_->filter_, false); + g_provider_instance_->automation_resource_message_filter_, false); return job; } } diff --git a/chrome_frame/test/net/test_automation_provider.h b/chrome_frame/test/net/test_automation_provider.h index 9e52b3b..d462108 100644 --- a/chrome_frame/test/net/test_automation_provider.h +++ b/chrome_frame/test/net/test_automation_provider.h @@ -47,7 +47,6 @@ class TestAutomationProvider TestAutomationProviderDelegate* delegate); protected: - scoped_refptr<TestAutomationResourceMessageFilter> filter_; int tab_handle_; TestAutomationProviderDelegate* delegate_; |