OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_TEST_AUTOMATION_AUTOMATION_PROXY_H__ | 5 #ifndef CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_H__ |
6 #define CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_H__ | 6 #define CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_H__ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "app/message_box_flags.h" | 10 #include "app/message_box_flags.h" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 // Block the thread until one of the tabs in any window (including windows | 113 // Block the thread until one of the tabs in any window (including windows |
114 // opened after the call) displays given url. Returns true on success. | 114 // opened after the call) displays given url. Returns true on success. |
115 bool WaitForURLDisplayed(GURL url, int wait_timeout); | 115 bool WaitForURLDisplayed(GURL url, int wait_timeout); |
116 | 116 |
117 // Returns the BrowserProxy for the browser window at the given index, | 117 // Returns the BrowserProxy for the browser window at the given index, |
118 // transferring ownership of the pointer to the caller. | 118 // transferring ownership of the pointer to the caller. |
119 // On failure, returns NULL. | 119 // On failure, returns NULL. |
120 // | 120 // |
121 // Use GetBrowserWindowCount to see how many browser windows you can ask for. | 121 // Use GetBrowserWindowCount to see how many browser windows you can ask for. |
122 // Window numbers are 0-based. | 122 // Window numbers are 0-based. |
123 BrowserProxy* GetBrowserWindow(int window_index); | 123 scoped_refptr<BrowserProxy> GetBrowserWindow(int window_index); |
124 | 124 |
125 // Finds the first browser window that is not incognito mode and of type | 125 // Finds the first browser window that is not incognito mode and of type |
126 // TYPE_NORMAL, and returns its corresponding BrowserProxy, transferring | 126 // TYPE_NORMAL, and returns its corresponding BrowserProxy, transferring |
127 // ownership of the pointer to the caller. | 127 // ownership of the pointer to the caller. |
128 // On failure, returns NULL. | 128 // On failure, returns NULL. |
129 BrowserProxy* FindNormalBrowserWindow(); | 129 scoped_refptr<BrowserProxy> FindNormalBrowserWindow(); |
130 | 130 |
131 // Returns the BrowserProxy for the browser window which was last active, | 131 // Returns the BrowserProxy for the browser window which was last active, |
132 // transferring ownership of the pointer to the caller. | 132 // transferring ownership of the pointer to the caller. |
133 // TODO: If there was no last active browser window, or the last active | 133 // TODO: If there was no last active browser window, or the last active |
134 // browser window no longer exists (for example, if it was closed), | 134 // browser window no longer exists (for example, if it was closed), |
135 // returns GetBrowserWindow(0). See crbug.com/10501. As for now this | 135 // returns GetBrowserWindow(0). See crbug.com/10501. As for now this |
136 // function is flakey. | 136 // function is flakey. |
137 BrowserProxy* GetLastActiveBrowserWindow(); | 137 scoped_refptr<BrowserProxy> GetLastActiveBrowserWindow(); |
138 | 138 |
139 // Returns the WindowProxy for the currently active window, transferring | 139 // Returns the WindowProxy for the currently active window, transferring |
140 // ownership of the pointer to the caller. | 140 // ownership of the pointer to the caller. |
141 // On failure, returns NULL. | 141 // On failure, returns NULL. |
142 WindowProxy* GetActiveWindow(); | 142 scoped_refptr<WindowProxy> GetActiveWindow(); |
143 | 143 |
144 // Tells the browser to enable or disable network request filtering. Returns | 144 // Tells the browser to enable or disable network request filtering. Returns |
145 // false if the message fails to send to the browser. | 145 // false if the message fails to send to the browser. |
146 bool SetFilteredInet(bool enabled); | 146 bool SetFilteredInet(bool enabled); |
147 | 147 |
148 // Sends the browser a new proxy configuration to start using. Returns true | 148 // Sends the browser a new proxy configuration to start using. Returns true |
149 // if the proxy config was successfully sent, false otherwise. | 149 // if the proxy config was successfully sent, false otherwise. |
150 bool SendProxyConfig(const std::string& new_proxy_config); | 150 bool SendProxyConfig(const std::string& new_proxy_config); |
151 | 151 |
152 // These methods are intended to be called by the background thread | 152 // These methods are intended to be called by the background thread |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 // message from AutomationProxy, unpacks the messages and routes that call to | 185 // message from AutomationProxy, unpacks the messages and routes that call to |
186 // the tracker. | 186 // the tracker. |
187 void InvalidateHandle(const IPC::Message& message); | 187 void InvalidateHandle(const IPC::Message& message); |
188 | 188 |
189 #if defined(OS_WIN) | 189 #if defined(OS_WIN) |
190 // TODO(port): Enable when we can replace HWND. | 190 // TODO(port): Enable when we can replace HWND. |
191 | 191 |
192 // Creates a tab that can hosted in an external process. The function | 192 // Creates a tab that can hosted in an external process. The function |
193 // returns a TabProxy representing the tab as well as a window handle | 193 // returns a TabProxy representing the tab as well as a window handle |
194 // that can be reparented in another process. | 194 // that can be reparented in another process. |
195 TabProxy* CreateExternalTab(HWND parent, const gfx::Rect& dimensions, | 195 scoped_refptr<TabProxy> CreateExternalTab(HWND parent, |
196 unsigned int style, bool incognito, | 196 const gfx::Rect& dimensions, unsigned int style, bool incognito, |
197 HWND* external_tab_container); | 197 HWND* external_tab_container); |
198 #endif // defined(OS_WIN) | 198 #endif // defined(OS_WIN) |
199 | 199 |
200 int command_execution_timeout_ms() const { | 200 int command_execution_timeout_ms() const { |
201 return static_cast<int>(command_execution_timeout_.InMilliseconds()); | 201 return static_cast<int>(command_execution_timeout_.InMilliseconds()); |
202 } | 202 } |
203 | 203 |
204 // Returns the server version of the server connected. You may only call this | 204 // Returns the server version of the server connected. You may only call this |
205 // method after WaitForAppLaunch() has returned SUCCESS or VERSION_MISMATCH. | 205 // method after WaitForAppLaunch() has returned SUCCESS or VERSION_MISMATCH. |
206 // If you call it before this, the return value is undefined. | 206 // If you call it before this, the return value is undefined. |
207 std::string server_version() const { | 207 std::string server_version() const { |
208 return server_version_; | 208 return server_version_; |
209 } | 209 } |
210 | 210 |
211 // Call this while passing true to tell the automation proxy to perform | 211 // Call this while passing true to tell the automation proxy to perform |
212 // a version check when WaitForAppLaunch() is called. Note that | 212 // a version check when WaitForAppLaunch() is called. Note that |
213 // platform_version_check_ defaults to false. | 213 // platform_version_check_ defaults to false. |
214 void set_perform_version_check(bool perform_version_check) { | 214 void set_perform_version_check(bool perform_version_check) { |
215 perform_version_check_ = perform_version_check; | 215 perform_version_check_ = perform_version_check; |
216 } | 216 } |
217 | 217 |
218 private: | 218 private: |
| 219 template <class T> scoped_refptr<T> ProxyObjectFromHandle(int handle); |
219 void InitializeChannelID(); | 220 void InitializeChannelID(); |
220 void InitializeThread(); | 221 void InitializeThread(); |
221 void InitializeChannel(); | 222 void InitializeChannel(); |
222 void InitializeHandleTracker(); | 223 void InitializeHandleTracker(); |
223 | 224 |
224 std::wstring channel_id_; | 225 std::wstring channel_id_; |
225 scoped_ptr<base::Thread> thread_; | 226 scoped_ptr<base::Thread> thread_; |
226 scoped_ptr<IPC::SyncChannel> channel_; | 227 scoped_ptr<IPC::SyncChannel> channel_; |
227 scoped_ptr<AutomationHandleTracker> tracker_; | 228 scoped_ptr<AutomationHandleTracker> tracker_; |
228 | 229 |
(...skipping 17 matching lines...) Expand all Loading... |
246 // a version resource. | 247 // a version resource. |
247 bool perform_version_check_; | 248 bool perform_version_check_; |
248 | 249 |
249 // Delay to let the browser execute the command. | 250 // Delay to let the browser execute the command. |
250 base::TimeDelta command_execution_timeout_; | 251 base::TimeDelta command_execution_timeout_; |
251 | 252 |
252 DISALLOW_COPY_AND_ASSIGN(AutomationProxy); | 253 DISALLOW_COPY_AND_ASSIGN(AutomationProxy); |
253 }; | 254 }; |
254 | 255 |
255 #endif // CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_H__ | 256 #endif // CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_H__ |
OLD | NEW |