| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_FRAME_EXTERNAL_TAB_H_ | 5 #ifndef CHROME_FRAME_EXTERNAL_TAB_H_ |
| 6 #define CHROME_FRAME_EXTERNAL_TAB_H_ | 6 #define CHROME_FRAME_EXTERNAL_TAB_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <windows.h> | 9 #include <windows.h> |
| 10 #include <atlbase.h> | 10 #include <atlbase.h> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 namespace IPC { | 30 namespace IPC { |
| 31 struct NavigationInfo; | 31 struct NavigationInfo; |
| 32 struct MiniContextMenuParams; | 32 struct MiniContextMenuParams; |
| 33 } | 33 } |
| 34 | 34 |
| 35 // This is the delegate/callback interface that has to be implemented | 35 // This is the delegate/callback interface that has to be implemented |
| 36 // by the customers of ExternalTabProxy class. | 36 // by the customers of ExternalTabProxy class. |
| 37 class UIDelegate { | 37 class UIDelegate { |
| 38 public: | 38 public: |
| 39 virtual void OnNavigationStateChanged(int flags, | 39 virtual void OnNavigationStateChanged( |
| 40 const IPC::NavigationInfo& nav_info) = 0; | 40 int flags, const NavigationInfo& nav_info) = 0; |
| 41 virtual void OnUpdateTargetUrl(const std::wstring& new_target_url) = 0; | 41 virtual void OnUpdateTargetUrl(const std::wstring& new_target_url) = 0; |
| 42 virtual void OnExtensionInstalled(const FilePath& path, void* user_data, | 42 virtual void OnExtensionInstalled(const FilePath& path, void* user_data, |
| 43 AutomationMsg_ExtensionResponseValues response) = 0; | 43 AutomationMsg_ExtensionResponseValues response) = 0; |
| 44 virtual void OnLoad(const GURL& url) = 0; | 44 virtual void OnLoad(const GURL& url) = 0; |
| 45 virtual void OnMessageFromChromeFrame(const std::string& message, | 45 virtual void OnMessageFromChromeFrame( |
| 46 const std::string& origin, const std::string& target) = 0; | 46 const std::string& message, const std::string& origin, |
| 47 virtual void OnHandleContextMenu(HANDLE menu_handle, int align_flags, | 47 const std::string& target) = 0; |
| 48 const IPC::MiniContextMenuParams& params) = 0; | 48 virtual void OnHandleContextMenu( |
| 49 HANDLE menu_handle, int align_flags, |
| 50 const MiniContextMenuParams& params) = 0; |
| 49 virtual void OnHandleAccelerator(const MSG& accel_message) = 0; | 51 virtual void OnHandleAccelerator(const MSG& accel_message) = 0; |
| 50 virtual void OnTabbedOut(bool reverse) = 0; | 52 virtual void OnTabbedOut(bool reverse) = 0; |
| 51 virtual void OnGoToHistoryOffset(int offset) = 0; | 53 virtual void OnGoToHistoryOffset(int offset) = 0; |
| 52 virtual void OnOpenURL(const GURL& url_to_open, const GURL& referrer, | 54 virtual void OnOpenURL( |
| 53 int open_disposition) = 0; | 55 const GURL& url_to_open, const GURL& referrer, int open_disposition) = 0; |
| 54 protected: | 56 protected: |
| 55 ~UIDelegate() {} | 57 ~UIDelegate() {} |
| 56 }; | 58 }; |
| 57 | 59 |
| 58 struct CreateTabParams { | 60 struct CreateTabParams { |
| 59 struct ProxyParams proxy_params; | 61 struct ProxyParams proxy_params; |
| 60 bool is_incognito; | 62 bool is_incognito; |
| 61 bool is_widget_mode; | 63 bool is_widget_mode; |
| 62 GURL url; | 64 GURL url; |
| 63 GURL referrer; | 65 GURL referrer; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 83 public ChromeProxyDelegate { | 85 public ChromeProxyDelegate { |
| 84 public: | 86 public: |
| 85 ExternalTabProxy(); | 87 ExternalTabProxy(); |
| 86 ~ExternalTabProxy(); | 88 ~ExternalTabProxy(); |
| 87 | 89 |
| 88 #ifdef UNIT_TEST | 90 #ifdef UNIT_TEST |
| 89 void set_proxy_factory(ChromeProxyFactory* factory) { | 91 void set_proxy_factory(ChromeProxyFactory* factory) { |
| 90 proxy_factory_ = factory; | 92 proxy_factory_ = factory; |
| 91 } | 93 } |
| 92 #endif | 94 #endif |
| 95 |
| 96 // IPC::Channel::Listener implementation. |
| 97 void OnMessageReceived(const IPC::Message& message); |
| 98 |
| 93 // | 99 // |
| 94 virtual void CreateTab(const CreateTabParams& create_params, | 100 virtual void CreateTab(const CreateTabParams& create_params, |
| 95 UIDelegate* delegate); | 101 UIDelegate* delegate); |
| 96 virtual void Navigate(const std::string& url, const std::string& referrer, | 102 virtual void Navigate(const std::string& url, const std::string& referrer, |
| 97 NavigationConstraints* navigation_constraints); | 103 NavigationConstraints* navigation_constraints); |
| 98 virtual void NavigateToIndex(int index); | 104 virtual void NavigateToIndex(int index); |
| 99 virtual void ForwardMessageFromExternalHost(const std::string& message, | 105 virtual void ForwardMessageFromExternalHost(const std::string& message, |
| 100 const std::string& origin, const std::string& target); | 106 const std::string& origin, const std::string& target); |
| 101 virtual void ChromeFrameHostMoved(); | 107 virtual void ChromeFrameHostMoved(); |
| 102 | 108 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 119 | 125 |
| 120 ////////////////////////////////////////////////////////////////////////// | 126 ////////////////////////////////////////////////////////////////////////// |
| 121 // ChromeProxyDelegate implementation | 127 // ChromeProxyDelegate implementation |
| 122 virtual int tab_handle() { | 128 virtual int tab_handle() { |
| 123 return tab_; | 129 return tab_; |
| 124 } | 130 } |
| 125 virtual void Connected(ChromeProxy* proxy); | 131 virtual void Connected(ChromeProxy* proxy); |
| 126 virtual void PeerLost(ChromeProxy* proxy, DisconnectReason reason); | 132 virtual void PeerLost(ChromeProxy* proxy, DisconnectReason reason); |
| 127 virtual void Disconnected(); | 133 virtual void Disconnected(); |
| 128 | 134 |
| 129 | |
| 130 // Sync message responses. | 135 // Sync message responses. |
| 131 virtual void Completed_CreateTab(bool success, HWND chrome_wnd, | 136 virtual void Completed_CreateTab(bool success, HWND chrome_wnd, |
| 132 HWND tab_window, int tab_handle, int session_id); | 137 HWND tab_window, int tab_handle, int session_id); |
| 133 virtual void Completed_ConnectToTab(bool success, HWND chrome_window, | 138 virtual void Completed_ConnectToTab(bool success, HWND chrome_window, |
| 134 HWND tab_window, int tab_handle, int session_id); | 139 HWND tab_window, int tab_handle, int session_id); |
| 135 virtual void Completed_Navigate(bool success, | 140 virtual void Completed_Navigate(bool success, |
| 136 enum AutomationMsg_NavigationResponseValues res); | 141 enum AutomationMsg_NavigationResponseValues res); |
| 137 virtual void Completed_InstallExtension(bool success, | 142 virtual void Completed_InstallExtension(bool success, |
| 138 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx); | 143 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx); |
| 139 virtual void Completed_LoadExpandedExtension(bool success, | 144 virtual void Completed_LoadExpandedExtension(bool success, |
| 140 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx); | 145 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx); |
| 141 virtual void Completed_GetEnabledExtensions(bool success, | 146 virtual void Completed_GetEnabledExtensions(bool success, |
| 142 const std::vector<FilePath>* extensions); | 147 const std::vector<FilePath>* extensions); |
| 143 | 148 |
| 144 // Network requests from Chrome. | 149 // Network requests from Chrome. |
| 145 virtual void Network_Start(int request_id, | 150 virtual void OnNetwork_Start( |
| 146 const IPC::AutomationURLRequest& request_info); | 151 int request_id, const AutomationURLRequest& request_info); |
| 147 virtual void Network_Read(int request_id, int bytes_to_read); | 152 virtual void OnNetwork_Read(int request_id, int bytes_to_read); |
| 148 virtual void Network_End(int request_id, const URLRequestStatus& s); | 153 virtual void OnNetwork_End(int request_id, const URLRequestStatus& s); |
| 149 virtual void Network_DownloadInHost(int request_id); | 154 virtual void OnNetwork_DownloadInHost(int request_id); |
| 150 virtual void GetCookies(const GURL& url, int cookie_id); | 155 virtual void OnGetCookies(const GURL& url, int cookie_id); |
| 151 virtual void SetCookie(const GURL& url, const std::string& cookie); | 156 virtual void OnSetCookie(const GURL& url, const std::string& cookie); |
| 152 | 157 |
| 153 // Navigation progress notifications. | 158 // Navigation progress notifications. |
| 154 virtual void NavigationStateChanged(int flags, | 159 virtual void OnNavigationStateChanged( |
| 155 const IPC::NavigationInfo& nav_info); | 160 int flags, const NavigationInfo& nav_info); |
| 156 virtual void UpdateTargetUrl(const std::wstring& url); | 161 virtual void OnUpdateTargetUrl(const std::wstring& url); |
| 157 virtual void NavigationFailed(int error_code, const GURL& gurl); | 162 virtual void OnNavigationFailed(int error_code, const GURL& gurl); |
| 158 virtual void DidNavigate(const IPC::NavigationInfo& navigation_info); | 163 virtual void OnDidNavigate(const NavigationInfo& navigation_info); |
| 159 virtual void TabLoaded(const GURL& url); | 164 virtual void OnTabLoaded(const GURL& url); |
| 160 | 165 |
| 161 virtual void OpenURL(const GURL& url_to_open, const GURL& referrer, | 166 virtual void OnOpenURL(const GURL& url_to_open, const GURL& referrer, |
| 162 int open_disposition); | 167 int open_disposition); |
| 163 virtual void GoToHistoryOffset(int offset); | 168 virtual void OnGoToHistoryOffset(int offset); |
| 164 virtual void MessageToHost(const std::string& message, | 169 virtual void OnMessageToHost( |
| 165 const std::string& origin, const std::string& target); | 170 const std::string& message, const std::string& origin, |
| 171 const std::string& target); |
| 166 | 172 |
| 167 // Misc. UI. | 173 // Misc. UI. |
| 168 virtual void HandleAccelerator(const MSG& accel_message); | 174 virtual void OnHandleAccelerator(const MSG& accel_message); |
| 169 virtual void HandleContextMenu(HANDLE menu_handle, int align_flags, | 175 virtual void OnHandleContextMenu(HANDLE menu_handle, int align_flags, |
| 170 const IPC::MiniContextMenuParams& params); | 176 const MiniContextMenuParams& params); |
| 171 virtual void TabbedOut(bool reverse); | 177 virtual void OnTabbedOut(bool reverse); |
| 172 | 178 |
| 173 // Other | 179 // Other |
| 174 virtual void TabClosed(); | 180 virtual void OnTabClosed(); |
| 175 virtual void AttachTab(const IPC::AttachExternalTabParams& attach_params); | 181 virtual void OnAttachTab(const AttachExternalTabParams& attach_params); |
| 176 | 182 |
| 177 // end of ChromeProxyDelegate methods | 183 // end of ChromeProxyDelegate methods |
| 178 ////////////////////////////////////////////////////////////////////////// | 184 ////////////////////////////////////////////////////////////////////////// |
| 179 void Init(); | 185 void Init(); |
| 180 void Destroy(); | 186 void Destroy(); |
| 181 | 187 |
| 182 // The UiXXXX are the ChromeProxyDelegate methods but on UI thread. | 188 // The UiXXXX are the ChromeProxyDelegate methods but on UI thread. |
| 183 void UiConnected(ChromeProxy* proxy); | 189 void UiConnected(ChromeProxy* proxy); |
| 184 void UiPeerLost(ChromeProxy* proxy, DisconnectReason reason); | 190 void UiPeerLost(ChromeProxy* proxy, DisconnectReason reason); |
| 185 void UiCompleted_CreateTab(bool success, HWND chrome_window, | 191 void UiCompleted_CreateTab(bool success, HWND chrome_window, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 216 GURL url; | 222 GURL url; |
| 217 GURL referrer; | 223 GURL referrer; |
| 218 void Set(const GURL& gurl, const GURL& ref) { | 224 void Set(const GURL& gurl, const GURL& ref) { |
| 219 url = gurl; | 225 url = gurl; |
| 220 referrer = ref; | 226 referrer = ref; |
| 221 } | 227 } |
| 222 } pending_navigation_; | 228 } pending_navigation_; |
| 223 }; | 229 }; |
| 224 | 230 |
| 225 #endif // CHROME_FRAME_EXTERNAL_TAB_H_ | 231 #endif // CHROME_FRAME_EXTERNAL_TAB_H_ |
| OLD | NEW |