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 /* | 5 /* |
6 LayoutTestController class: | 6 LayoutTestController class: |
7 Bound to a JavaScript window.layoutTestController object using the | 7 Bound to a JavaScript window.layoutTestController object using the |
8 CppBoundClass::BindToJavascript(), this allows layout tests that are run in | 8 CppBoundClass::BindToJavascript(), this allows layout tests that are run in |
9 the test_shell (or, in principle, any web page loaded into a client app built | 9 the test_shell (or, in principle, any web page loaded into a client app built |
10 with this class) to control various aspects of how the tests are run and what | 10 with this class) to control various aspects of how the tests are run and what |
11 sort of output they produce. | 11 sort of output they produce. |
12 */ | 12 */ |
13 | 13 |
14 #ifndef WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ | 14 #ifndef WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ |
15 #define WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ | 15 #define WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ |
16 | 16 |
17 #include <queue> | 17 #include <queue> |
18 | 18 |
19 #include "base/timer.h" | 19 #include "base/timer.h" |
20 #include "base/string16.h" | 20 #include "base/string16.h" |
21 #include "webkit/glue/cpp_bound_class.h" | 21 #include "webkit/glue/cpp_bound_class.h" |
22 | 22 |
23 class TestShell; | 23 class TestShell; |
24 | 24 |
25 class LayoutTestController : public CppBoundClass { | 25 class LayoutTestController : public CppBoundClass { |
26 public: | 26 public: |
27 // Builds the property and method lists needed to bind this class to a JS | 27 // Builds the property and method lists needed to bind this class to a JS |
28 // object. | 28 // object. |
29 LayoutTestController(TestShell* shell); | 29 LayoutTestController(TestShell* shell); |
30 ~LayoutTestController(); | 30 virtual ~LayoutTestController(); |
31 | 31 |
32 // By default, tests end when page load is complete. These methods are used | 32 // By default, tests end when page load is complete. These methods are used |
33 // to delay the completion of the test until notifyDone is called. | 33 // to delay the completion of the test until notifyDone is called. |
34 void waitUntilDone(const CppArgumentList& args, CppVariant* result); | 34 void waitUntilDone(const CppArgumentList& args, CppVariant* result); |
35 void notifyDone(const CppArgumentList& args, CppVariant* result); | 35 void notifyDone(const CppArgumentList& args, CppVariant* result); |
36 | 36 |
37 // The fallback method is called when a nonexistent method is called on | 37 // The fallback method is called when a nonexistent method is called on |
38 // the layout test controller object. | 38 // the layout test controller object. |
39 // It is usefull to catch typos in the JavaScript code (a few layout tests | 39 // It is usefull to catch typos in the JavaScript code (a few layout tests |
40 // do have typos in them) and it allows the script to continue running in | 40 // do have typos in them) and it allows the script to continue running in |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 // DidStartProvisionalLoadForFrame callback. | 132 // DidStartProvisionalLoadForFrame callback. |
133 static bool stop_provisional_frame_loads_; | 133 static bool stop_provisional_frame_loads_; |
134 | 134 |
135 // If true, don't dump output until notifyDone is called. | 135 // If true, don't dump output until notifyDone is called. |
136 static bool wait_until_done_; | 136 static bool wait_until_done_; |
137 | 137 |
138 static WorkQueue work_queue_; | 138 static WorkQueue work_queue_; |
139 }; | 139 }; |
140 | 140 |
141 #endif // WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ | 141 #endif // WEBKIT_TOOLS_TEST_SHELL_LAYOUT_TEST_CONTROLLER_H_ |
OLD | NEW |