Index: chrome_frame/cfproxy.h |
=================================================================== |
--- chrome_frame/cfproxy.h (revision 69966) |
+++ chrome_frame/cfproxy.h (working copy) |
@@ -15,6 +15,7 @@ |
#include "base/file_path.h" |
#include "chrome/common/automation_constants.h" |
#include "chrome/common/page_zoom.h" |
+#include "ipc/ipc_channel.h" |
enum FindInPageDirection { BACK = 0, FWD = 1 }; |
enum FindInPageCase { IGNORE_CASE = 0, CASE_SENSITIVE = 1 }; |
@@ -28,18 +29,15 @@ |
LARGEST_FONT = 36 |
}; |
-class URLRequestStatus; |
-namespace IPC { |
- struct ExternalTabSettings; |
- struct NavigationInfo; |
- struct AutomationURLRequest; |
- struct AttachExternalTabParams; |
- struct MiniContextMenuParams; |
-}; |
- |
-class GURL; |
-class ChromeProxyFactory; |
class ChromeProxyDelegate; |
+class ChromeProxyFactory; |
+class GURL; |
+class URLRequestStatus; |
+struct AttachExternalTabParams; |
+struct AutomationURLRequest; |
+struct ExternalTabSettings; |
+struct MiniContextMenuParams; |
+struct NavigationInfo; |
struct ProxyParams; |
// Some callers of synchronous messages wants a context to be passed back |
@@ -89,7 +87,7 @@ |
// Tab management. |
virtual void CreateTab(ChromeProxyDelegate* delegate, |
- const IPC::ExternalTabSettings& settings) = 0; |
+ const ExternalTabSettings& settings) = 0; |
virtual void ConnectTab(ChromeProxyDelegate* delegate, HWND hwnd, |
uint64 cookie) = 0; |
virtual void BlockTab(uint64 cookie) = 0; |
@@ -142,7 +140,7 @@ |
// instance of Chromium. |
// Allow only one delegate per tab, i.e. delegate can handle only a single tab. |
// Note: all of the methods are invoked always in a background IPC thread. |
-class ChromeProxyDelegate { |
+class ChromeProxyDelegate : public IPC::Channel::Listener { |
public: |
enum DisconnectReason { |
CHROME_EXE_LAUNCH_FAILED, |
@@ -150,6 +148,9 @@ |
CHANNEL_ERROR |
}; |
+ // IPC::Channel::Listener. |
+ void OnMessageReceived(const IPC::Message& message) = 0; |
+ |
virtual void Connected(ChromeProxy* proxy) = 0; |
virtual void Disconnected() = 0; |
virtual void PeerLost(ChromeProxy* proxy, DisconnectReason reason) = 0; |
@@ -169,39 +170,6 @@ |
virtual void Completed_GetEnabledExtensions(bool success, |
const std::vector<FilePath>* extensions) = 0; |
- // Network requests from Chrome. |
- virtual void Network_Start(int request_id, |
- const IPC::AutomationURLRequest& request_info) = 0; |
- virtual void Network_Read(int request_id, int bytes_to_read) = 0; |
- virtual void Network_End(int request_id, const URLRequestStatus& status) = 0; |
- virtual void Network_DownloadInHost(int request_id) = 0; |
- virtual void GetCookies(const GURL& url, int cookie_id) = 0; |
- virtual void SetCookie(const GURL& url, const std::string& cookie) = 0; |
- |
- // Navigation progress notifications. |
- virtual void NavigationStateChanged(int flags, |
- const IPC::NavigationInfo& nav_info) = 0; |
- virtual void UpdateTargetUrl(const std::wstring& url) = 0; |
- virtual void NavigationFailed(int error_code, const GURL& gurl) = 0; |
- virtual void DidNavigate(const IPC::NavigationInfo& navigation_info) = 0; |
- virtual void TabLoaded(const GURL& url) = 0; |
- |
- // Navigation and messaging. |
- virtual void OpenURL(const GURL& url_to_open, const GURL& referrer, |
- int open_disposition) = 0; |
- virtual void GoToHistoryOffset(int offset) = 0; |
- virtual void MessageToHost(const std::string& message, |
- const std::string& origin, |
- const std::string& target) = 0; |
- // Misc. UI. |
- virtual void HandleAccelerator(const MSG& accel_message) = 0; |
- virtual void HandleContextMenu(HANDLE menu_handle, int align_flags, |
- const IPC::MiniContextMenuParams& params) = 0; |
- virtual void TabbedOut(bool reverse) = 0; |
- |
- // Tab related. |
- virtual void TabClosed() = 0; |
- virtual void AttachTab(const IPC::AttachExternalTabParams& attach_params) = 0; |
protected: |
~ChromeProxyDelegate() {} |
}; |