| OLD | NEW |
| 1 // Copyright (c) 2009 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_CHROME_FRAME_AUTOMATION_H_ | 5 #ifndef CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| 6 #define CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ | 6 #define CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| 7 | 7 |
| 8 #include <atlbase.h> | 8 #include <atlbase.h> |
| 9 #include <atlwin.h> | 9 #include <atlwin.h> |
| 10 #include <string> | 10 #include <string> |
| 11 #include <map> | 11 #include <map> |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 81 |
| 82 // This structure contains information used for launching chrome. | 82 // This structure contains information used for launching chrome. |
| 83 struct ChromeFrameLaunchParams { | 83 struct ChromeFrameLaunchParams { |
| 84 int automation_server_launch_timeout; | 84 int automation_server_launch_timeout; |
| 85 GURL url; | 85 GURL url; |
| 86 GURL referrer; | 86 GURL referrer; |
| 87 std::wstring profile_name; | 87 std::wstring profile_name; |
| 88 std::wstring extra_chrome_arguments; | 88 std::wstring extra_chrome_arguments; |
| 89 bool perform_version_check; | 89 bool perform_version_check; |
| 90 bool incognito_mode; | 90 bool incognito_mode; |
| 91 FilePath profile_path; |
| 91 }; | 92 }; |
| 92 | 93 |
| 93 // We must create and destroy automation proxy in a thread with a message loop. | 94 // We must create and destroy automation proxy in a thread with a message loop. |
| 94 // Hence thread cannot be a member of the proxy. | 95 // Hence thread cannot be a member of the proxy. |
| 95 class ProxyFactory { | 96 class ProxyFactory { |
| 96 public: | 97 public: |
| 97 // Callback when chrome process launch is complete and automation handshake | 98 // Callback when chrome process launch is complete and automation handshake |
| 98 // (Hello message) is established. | 99 // (Hello message) is established. |
| 99 struct DECLSPEC_NOVTABLE LaunchDelegate { | 100 struct DECLSPEC_NOVTABLE LaunchDelegate { |
| 100 virtual void LaunchComplete(ChromeFrameAutomationProxy* proxy, | 101 virtual void LaunchComplete(ChromeFrameAutomationProxy* proxy, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 public TabProxy::TabProxyDelegate, | 154 public TabProxy::TabProxyDelegate, |
| 154 public ProxyFactory::LaunchDelegate { | 155 public ProxyFactory::LaunchDelegate { |
| 155 public: | 156 public: |
| 156 ChromeFrameAutomationClient(); | 157 ChromeFrameAutomationClient(); |
| 157 ~ChromeFrameAutomationClient(); | 158 ~ChromeFrameAutomationClient(); |
| 158 | 159 |
| 159 // Called from UI thread. | 160 // Called from UI thread. |
| 160 virtual bool Initialize(ChromeFrameDelegate* chrome_frame_delegate, | 161 virtual bool Initialize(ChromeFrameDelegate* chrome_frame_delegate, |
| 161 int automation_server_launch_timeout, | 162 int automation_server_launch_timeout, |
| 162 bool perform_version_check, | 163 bool perform_version_check, |
| 163 const std::wstring& profile_name, | 164 const FilePath& profile_path, |
| 164 const std::wstring& extra_chrome_arguments, | 165 const std::wstring& extra_chrome_arguments, |
| 165 bool incognito); | 166 bool incognito); |
| 166 void Uninitialize(); | 167 void Uninitialize(); |
| 167 | 168 |
| 168 virtual bool InitiateNavigation(const std::string& url, | 169 virtual bool InitiateNavigation(const std::string& url, |
| 169 const std::string& referrer, | 170 const std::string& referrer, |
| 170 bool is_privileged); | 171 bool is_privileged); |
| 171 virtual bool NavigateToIndex(int index); | 172 virtual bool NavigateToIndex(int index); |
| 172 bool ForwardMessageFromExternalHost(const std::string& message, | 173 bool ForwardMessageFromExternalHost(const std::string& message, |
| 173 const std::string& origin, | 174 const std::string& origin, |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 // is reused. | 256 // is reused. |
| 256 bool Reinitialize(ChromeFrameDelegate* chrome_frame_delegate, | 257 bool Reinitialize(ChromeFrameDelegate* chrome_frame_delegate, |
| 257 PluginUrlRequestManager* url_fetcher); | 258 PluginUrlRequestManager* url_fetcher); |
| 258 | 259 |
| 259 // Attaches an existing external tab to this automation client instance. | 260 // Attaches an existing external tab to this automation client instance. |
| 260 void AttachExternalTab(uint64 external_tab_cookie); | 261 void AttachExternalTab(uint64 external_tab_cookie); |
| 261 void BlockExternalTab(uint64 cookie); | 262 void BlockExternalTab(uint64 cookie); |
| 262 | 263 |
| 263 void SetPageFontSize(enum AutomationPageFontSize); | 264 void SetPageFontSize(enum AutomationPageFontSize); |
| 264 | 265 |
| 266 // For IDeleteBrowsingHistorySupport |
| 267 void RemoveBrowsingData(int remove_mask); |
| 268 |
| 265 ChromeFrameAutomationProxy* automation_server() { | 269 ChromeFrameAutomationProxy* automation_server() { |
| 266 return automation_server_; | 270 return automation_server_; |
| 267 } | 271 } |
| 268 | 272 |
| 269 protected: | 273 protected: |
| 270 // ChromeFrameAutomationProxy::LaunchDelegate implementation. | 274 // ChromeFrameAutomationProxy::LaunchDelegate implementation. |
| 271 virtual void LaunchComplete(ChromeFrameAutomationProxy* proxy, | 275 virtual void LaunchComplete(ChromeFrameAutomationProxy* proxy, |
| 272 AutomationLaunchResult result); | 276 AutomationLaunchResult result); |
| 273 // TabProxyDelegate implementation | 277 // TabProxyDelegate implementation |
| 274 virtual void OnMessageReceived(TabProxy* tab, const IPC::Message& msg); | 278 virtual void OnMessageReceived(TabProxy* tab, const IPC::Message& msg); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 public: | 360 public: |
| 357 void SetUrlFetcher(PluginUrlRequestManager* url_fetcher) { | 361 void SetUrlFetcher(PluginUrlRequestManager* url_fetcher) { |
| 358 DCHECK(url_fetcher != NULL); | 362 DCHECK(url_fetcher != NULL); |
| 359 url_fetcher_ = url_fetcher; | 363 url_fetcher_ = url_fetcher; |
| 360 thread_safe_url_fetcher_ = url_fetcher->IsThreadSafe(); | 364 thread_safe_url_fetcher_ = url_fetcher->IsThreadSafe(); |
| 361 url_fetcher_->set_delegate(this); | 365 url_fetcher_->set_delegate(this); |
| 362 } | 366 } |
| 363 }; | 367 }; |
| 364 | 368 |
| 365 #endif // CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ | 369 #endif // CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| OLD | NEW |