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 |