diff options
author | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 22:13:28 +0000 |
---|---|---|
committer | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 22:13:28 +0000 |
commit | d8ab621fc2ed73e4e23ad534a3b896f269b66ac6 (patch) | |
tree | 5ed273248b12b5238607d02063a12b65a267e73f | |
parent | 6e246c9d1c09a31adc474cb62ab24f38c273304c (diff) | |
download | chromium_src-d8ab621fc2ed73e4e23ad534a3b896f269b66ac6.zip chromium_src-d8ab621fc2ed73e4e23ad534a3b896f269b66ac6.tar.gz chromium_src-d8ab621fc2ed73e4e23ad534a3b896f269b66ac6.tar.bz2 |
Allow derived classes to access members (channel, thread, etc) of the AutomationProxy.
Move out TabProxyDelegate filter.
Review URL: http://codereview.chromium.org/119098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17549 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/test/automation/automation_proxy.cc | 56 | ||||
-rw-r--r-- | chrome/test/automation/automation_proxy.h | 2 |
2 files changed, 1 insertions, 57 deletions
diff --git a/chrome/test/automation/automation_proxy.cc b/chrome/test/automation/automation_proxy.cc index 13e0957..c828e06 100644 --- a/chrome/test/automation/automation_proxy.cc +++ b/chrome/test/automation/automation_proxy.cc @@ -75,62 +75,6 @@ class AutomationMessageFilter : public IPC::ChannelProxy::MessageFilter { AutomationProxy* server_; }; -class TabProxyNotificationMessageFilter - : public IPC::ChannelProxy::MessageFilter { - public: - TabProxyNotificationMessageFilter(AutomationHandleTracker* tracker) - : tracker_ (tracker) { - } - - virtual bool OnMessageReceived(const IPC::Message& message) { - if (message.is_sync()) - return false; - - if (message.is_reply()) - return false; - - bool tab_message = IsTabNotifyMessage(message); - if (tab_message == false) - return false; - - // Read tab handle from the message. - int tab_handle = 0; - void* iter = NULL; - if (!message.ReadInt(&iter, &tab_handle)) - return false; - - // Get AddRef-ed pointer to corresponding TabProxy object - TabProxy* tab = static_cast<TabProxy*>(tracker_->GetResource(tab_handle)); - if (tab) { - tab->OnMessageReceived(message); - tab->Release(); - } - return true; - } - - static bool IsTabNotifyMessage(const IPC::Message& message) { - bool tab_message = true; - IPC_BEGIN_MESSAGE_MAP(TabProxyNotificationMessageFilter, message) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationStateChanged, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_UpdateTargetUrl, ) -#if defined(OS_WIN) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_HandleAccelerator, ) -#endif - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabbedOut, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_OpenURL, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_DidNavigate, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationFailed, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabLoaded, ) - IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_ForwardMessageToExternalHost, ) - - IPC_MESSAGE_UNHANDLED(tab_message = false); - IPC_END_MESSAGE_MAP() - return tab_message; - } - - private: - AutomationHandleTracker* tracker_; -}; } // anonymous namespace diff --git a/chrome/test/automation/automation_proxy.h b/chrome/test/automation/automation_proxy.h index ca193e9..b851a40 100644 --- a/chrome/test/automation/automation_proxy.h +++ b/chrome/test/automation/automation_proxy.h @@ -215,7 +215,7 @@ class AutomationProxy : public IPC::Channel::Listener, perform_version_check_ = perform_version_check; } - private: + protected: template <class T> scoped_refptr<T> ProxyObjectFromHandle(int handle); void InitializeChannelID(); void InitializeThread(); |