OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Swig Interface for PyAuto. | 5 // Swig Interface for PyAuto. |
6 // PyAuto makes the Automation Proxy interface available in Python | 6 // PyAuto makes the Automation Proxy interface available in Python |
7 // | 7 // |
8 // Running swig as: | 8 // Running swig as: |
9 // swig -python -c++ chrome/test/pyautolib/pyautolib.i | 9 // swig -python -c++ chrome/test/pyautolib/pyautolib.i |
10 // would generate pyautolib.py, pyautolib_wrap.cxx | 10 // would generate pyautolib.py, pyautolib_wrap.cxx |
11 | 11 |
12 // When adding a new class or method, make sure you specify the doc string using | 12 // When adding a new class or method, make sure you specify the doc string using |
13 // %feature("docstring", "doc string goes here") NODENAME; | 13 // %feature("docstring", "doc string goes here") NODENAME; |
14 // and attach it to your node (class or method). This doc string will be | 14 // and attach it to your node (class or method). This doc string will be |
15 // copied over in the generated python classes/methods. | 15 // copied over in the generated python classes/methods. |
16 | 16 |
17 %module(docstring="Python interface to Automation Proxy.") pyautolib | 17 %module(docstring="Python interface to Automation Proxy.") pyautolib |
18 %feature("autodoc", "1"); | 18 %feature("autodoc", "1"); |
19 | 19 |
20 %include <cpointer.i> | 20 %include <std_wstring.i> |
21 %include <std_string.i> | 21 %include <std_string.i> |
22 %include <std_wstring.i> | |
23 %include <typemaps.i> | |
24 | 22 |
25 %include "chrome/test/pyautolib/argc_argv.i" | 23 %include "chrome/test/pyautolib/argc_argv.i" |
26 | 24 |
27 // NOTE: All files included in this file should also be listed under | 25 // NOTE: All files included in this file should also be listed under |
28 // pyautolib_sources in chrome_tests.gypi. | 26 // pyautolib_sources in chrome_tests.gypi. |
29 | 27 |
30 // Headers that can be swigged directly. | 28 // Headers that can be swigged directly. |
31 %include "chrome/app/chrome_command_ids.h" | 29 %include "chrome/app/chrome_command_ids.h" |
32 %include "chrome/app/chrome_dll_resource.h" | 30 %include "chrome/app/chrome_dll_resource.h" |
33 %include "chrome/common/automation_constants.h" | 31 %include "chrome/common/automation_constants.h" |
34 %include "chrome/common/pref_names.h" | 32 %include "chrome/common/pref_names.h" |
35 %include "content/public/common/page_type.h" | |
36 %include "content/public/common/security_style.h" | |
37 // Must come before cert_status_flags.h | |
38 %include "net/base/net_export.h" | |
39 %include "net/base/cert_status_flags.h" | |
40 | 33 |
41 %{ | 34 %{ |
42 #include "chrome/common/automation_constants.h" | 35 #include "chrome/common/automation_constants.h" |
43 #include "chrome/common/pref_names.h" | 36 #include "chrome/common/pref_names.h" |
44 #include "chrome/test/automation/browser_proxy.h" | 37 #include "chrome/test/automation/browser_proxy.h" |
45 #include "chrome/test/automation/tab_proxy.h" | 38 #include "chrome/test/automation/tab_proxy.h" |
46 #include "chrome/test/pyautolib/pyautolib.h" | 39 #include "chrome/test/pyautolib/pyautolib.h" |
47 #include "net/test/test_server.h" | 40 #include "net/test/test_server.h" |
48 %} | 41 %} |
49 | 42 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 bool Close(); | 140 bool Close(); |
148 bool Close(bool wait_until_closed); | 141 bool Close(bool wait_until_closed); |
149 %feature("docstring", "Blocks until tab is completely restored.") | 142 %feature("docstring", "Blocks until tab is completely restored.") |
150 WaitForTabToBeRestored; | 143 WaitForTabToBeRestored; |
151 bool WaitForTabToBeRestored(uint32 timeout_ms); | 144 bool WaitForTabToBeRestored(uint32 timeout_ms); |
152 %feature("docstring", "Simulates user action on the SSL blocking page." | 145 %feature("docstring", "Simulates user action on the SSL blocking page." |
153 "if |proceed| is true, this is equivalent to clicking the 'Proceed' " | 146 "if |proceed| is true, this is equivalent to clicking the 'Proceed' " |
154 "button, if false to 'Take me out of there' button.") | 147 "button, if false to 'Take me out of there' button.") |
155 TakeActionOnSSLBlockingPage; | 148 TakeActionOnSSLBlockingPage; |
156 bool TakeActionOnSSLBlockingPage(bool proceed); | 149 bool TakeActionOnSSLBlockingPage(bool proceed); |
157 %extend { | |
158 %feature("docstring", "Retrieves the different security states for the " | |
159 "current tab.") | |
160 GetSecurityState; | |
161 PyObject* GetSecurityState() { | |
162 content::SecurityStyle security_style; | |
163 net::CertStatus ssl_cert_status; | |
164 int insecure_content_status; | |
165 PyObject* result_dict = PyDict_New(); | |
166 if ($self->GetSecurityState( | |
167 &security_style, &ssl_cert_status, &insecure_content_status)) { | |
168 PyDict_SetItem(result_dict, PyString_FromString("security_style"), | |
169 PyInt_FromLong(security_style)); | |
170 PyDict_SetItem(result_dict, PyString_FromString("ssl_cert_status"), | |
171 PyInt_FromLong(ssl_cert_status)); | |
172 PyDict_SetItem(result_dict, | |
173 PyString_FromString("insecure_content_status"), | |
174 PyInt_FromLong(insecure_content_status)); | |
175 } | |
176 return result_dict; | |
177 } | |
178 }; | |
179 %extend { | |
180 %feature("docstring", "Returns the type of page currently showing " | |
181 "(normal, interstitial, error.") | |
182 GetPageType; | |
183 PyObject* GetPageType() { | |
184 content::PageType page_type; | |
185 PyObject* result_dict = PyDict_New(); | |
186 if ($self->GetPageType(&page_type)) { | |
187 PyDict_SetItem(result_dict, PyString_FromString("page_type"), | |
188 PyInt_FromLong(page_type)); | |
189 } | |
190 return result_dict; | |
191 } | |
192 }; | |
193 | 150 |
194 // HTTP Auth | 151 // HTTP Auth |
195 %feature("docstring", | 152 %feature("docstring", |
196 "Checks if this tab has a login prompt waiting for auth. This will be " | 153 "Checks if this tab has a login prompt waiting for auth. This will be " |
197 "true if a navigation results in a login prompt, and if an attempted " | 154 "true if a navigation results in a login prompt, and if an attempted " |
198 "login fails. " | 155 "login fails. " |
199 "Note that this is only valid if you've done a navigation on this same " | 156 "Note that this is only valid if you've done a navigation on this same " |
200 "object; different TabProxy objects can refer to the same Tab. Calls " | 157 "object; different TabProxy objects can refer to the same Tab. Calls " |
201 "that can set this are NavigateToURL, GoBack, and GoForward. ") | 158 "that can set this are NavigateToURL, GoBack, and GoForward. ") |
202 NeedsAuth; | 159 NeedsAuth; |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 CERT_EXPIRED, | 468 CERT_EXPIRED, |
512 }; | 469 }; |
513 | 470 |
514 // Initialize a new HTTPSOptions that will use the specified certificate. | 471 // Initialize a new HTTPSOptions that will use the specified certificate. |
515 explicit HTTPSOptions(ServerCertificate cert); | 472 explicit HTTPSOptions(ServerCertificate cert); |
516 }; | 473 }; |
517 | 474 |
518 %{ | 475 %{ |
519 typedef net::TestServer::HTTPSOptions HTTPSOptions; | 476 typedef net::TestServer::HTTPSOptions HTTPSOptions; |
520 %} | 477 %} |
521 | |
522 %pointer_class(int, int_ptr); | |
523 %pointer_class(uint32, uint32_ptr); | |
OLD | NEW |