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 // This file declares the C++ side of PyAuto, the python interface to | 5 // This file declares the C++ side of PyAuto, the python interface to |
6 // Chromium automation. It access Chromium's internals using Automation Proxy. | 6 // Chromium automation. It access Chromium's internals using Automation Proxy. |
7 | 7 |
8 #ifndef CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ | 8 #ifndef CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |
9 #define CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ | 9 #define CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |
10 #pragma once | 10 #pragma once |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
141 bool RemoveBookmark(std::wstring& id); | 141 bool RemoveBookmark(std::wstring& id); |
142 | 142 |
143 // Get a handle to browser window at the given index, or NULL on failure. | 143 // Get a handle to browser window at the given index, or NULL on failure. |
144 scoped_refptr<BrowserProxy> GetBrowserWindow(int window_index); | 144 scoped_refptr<BrowserProxy> GetBrowserWindow(int window_index); |
145 | 145 |
146 // Meta-method. Experimental pattern of passing args and response as | 146 // Meta-method. Experimental pattern of passing args and response as |
147 // JSON dict to avoid future use of the SWIG interface and | 147 // JSON dict to avoid future use of the SWIG interface and |
148 // automation proxy additions. Returns response as JSON dict. | 148 // automation proxy additions. Returns response as JSON dict. |
149 std::string _SendJSONRequest(int window_index, std::string& request); | 149 std::string _SendJSONRequest(int window_index, std::string& request); |
150 | 150 |
151 // Execute javascript in a given tab, and return the response. This is | |
152 // a low-level method intended for use mostly by GetDOMValue(). Note that | |
153 // any complicated manipulation of the page should be done by something | |
154 // like WebDriver, not PyAuto. | |
John Grabowski
2010/08/03 06:42:45
Clarify that the only return value is something se
Dirk Pranke
2010/08/04 21:44:12
Done.
| |
155 std::wstring ExecuteJavascript(const std::wstring& script, | |
156 int window_index = 0, | |
157 int tab_index = 0, | |
158 const std::wstring& frame_xpath = L""); | |
159 | |
160 // Evaluate a Javascript expression and return the result as a string. This | |
161 // method is intended largely to read values out of the frame DOM. | |
162 std::wstring GetDOMValue(const std::wstring& expr, | |
163 int window_index = 0, | |
164 int tab_index = 0, | |
165 const std::wstring& frame_xpath = L""); | |
166 | |
151 // Resets to the default theme. Returns true on success. | 167 // Resets to the default theme. Returns true on success. |
152 bool ResetToDefaultTheme(); | 168 bool ResetToDefaultTheme(); |
153 | 169 |
154 // Sets a cookie value for a url. Returns true on success. | 170 // Sets a cookie value for a url. Returns true on success. |
155 bool SetCookie(const GURL& cookie_url, const std::string& value, | 171 bool SetCookie(const GURL& cookie_url, const std::string& value, |
156 int window_index = 0, int tab_index = 0); | 172 int window_index = 0, int tab_index = 0); |
157 // Gets a cookie value for the given url. | 173 // Gets a cookie value for the given url. |
158 std::string GetCookie(const GURL& cookie_url, int window_index = 0, | 174 std::string GetCookie(const GURL& cookie_url, int window_index = 0, |
159 int tab_index = 0); | 175 int tab_index = 0); |
160 | 176 |
161 private: | 177 private: |
162 // Enables PostTask to main thread. | 178 // Enables PostTask to main thread. |
163 // Should be shared across multiple instances of PyUITestBase so that this | 179 // Should be shared across multiple instances of PyUITestBase so that this |
164 // class is re-entrant and multiple instances can be created. | 180 // class is re-entrant and multiple instances can be created. |
165 // This is necessary since python's unittest module creates instances of | 181 // This is necessary since python's unittest module creates instances of |
166 // TestCase at load time itself. | 182 // TestCase at load time itself. |
167 static MessageLoop* GetSharedMessageLoop(MessageLoop::Type msg_loop_type); | 183 static MessageLoop* GetSharedMessageLoop(MessageLoop::Type msg_loop_type); |
168 static MessageLoop* message_loop_; | 184 static MessageLoop* message_loop_; |
169 }; | 185 }; |
170 | 186 |
171 #endif // CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ | 187 #endif // CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |
OLD | NEW |