Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: chrome/test/base/in_process_browser_test.h

Issue 1996863002: media: Use bundled Widevine CDM in encrypted media browser tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments addressed Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_ 5 #ifndef CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_
6 #define CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_ 6 #define CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 // state changes you'll need to run the message loop from your test method. 53 // state changes you'll need to run the message loop from your test method.
54 // For example, if you need to wait till a find bar has completely been shown 54 // For example, if you need to wait till a find bar has completely been shown
55 // you'll need to invoke content::RunMessageLoop. When the message bar is 55 // you'll need to invoke content::RunMessageLoop. When the message bar is
56 // shown, invoke MessageLoop::current()->QuitWhenIdle() to return control back 56 // shown, invoke MessageLoop::current()->QuitWhenIdle() to return control back
57 // to your test method. 57 // to your test method.
58 // . If you subclass and override SetUp, be sure and invoke 58 // . If you subclass and override SetUp, be sure and invoke
59 // InProcessBrowserTest::SetUp. (But see also SetUpOnMainThread, 59 // InProcessBrowserTest::SetUp. (But see also SetUpOnMainThread,
60 // SetUpInProcessBrowserTestFixture and other related hook methods for a 60 // SetUpInProcessBrowserTestFixture and other related hook methods for a
61 // cleaner alternative). 61 // cleaner alternative).
62 // 62 //
63 // Following three hook methods are called in sequence before calling 63 // The following four hook methods are called in sequence before calling
64 // BrowserMain(), thus no browser has been created yet. They are mainly for 64 // BrowserMain(), thus no browser has been created yet. They are mainly for
65 // setting up the environment for running the browser. 65 // setting up the environment for running the browser.
66 // . SetUpUserDataDirectory() 66 // . SetUpUserDataDirectory()
67 // . SetUpCommandLine() 67 // . SetUpCommandLine()
68 // . SetUpDefaultCommandLine()
68 // . SetUpInProcessBrowserTestFixture() 69 // . SetUpInProcessBrowserTestFixture()
69 // 70 //
71 // Default command line switches are added in the default implementation of
72 // SetUpDefaultCommandLine(). Addtional command line switches can be simply
73 // appended in SetUpCommandLine() without the need to invoke
74 // InProcessBrowserTest::SetUpCommandLine(). If a test needs to change the
75 // default command line, it can override SetUpDefaultCommandLine(), where it
76 // should invoke InProcessBrowserTest::SetUpDefaultCommandLine() to get the
77 // default swtiches, and modify them as needed.
78 //
70 // SetUpOnMainThread() is called just after creating the default browser object 79 // SetUpOnMainThread() is called just after creating the default browser object
71 // and before executing the real test code. It's mainly for setting up things 80 // and before executing the real test code. It's mainly for setting up things
72 // related to the browser object and associated window, like opening a new Tab 81 // related to the browser object and associated window, like opening a new Tab
73 // with a testing page loaded. 82 // with a testing page loaded.
74 // 83 //
75 // TearDownOnMainThread() is called just after executing the real test code to 84 // TearDownOnMainThread() is called just after executing the real test code to
76 // do necessary cleanup before the browser is torn down. 85 // do necessary cleanup before the browser is torn down.
77 // 86 //
78 // TearDownInProcessBrowserTestFixture() is called after BrowserMain() exits to 87 // TearDownInProcessBrowserTestFixture() is called after BrowserMain() exits to
79 // cleanup things setup for running the browser. 88 // cleanup things setup for running the browser.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // Convenience methods for adding tabs to a Browser. 137 // Convenience methods for adding tabs to a Browser.
129 void AddTabAtIndexToBrowser(Browser* browser, 138 void AddTabAtIndexToBrowser(Browser* browser,
130 int index, 139 int index,
131 const GURL& url, 140 const GURL& url,
132 ui::PageTransition transition, 141 ui::PageTransition transition,
133 bool check_navigation_success); 142 bool check_navigation_success);
134 void AddTabAtIndex(int index, 143 void AddTabAtIndex(int index,
135 const GURL& url, 144 const GURL& url,
136 ui::PageTransition transition); 145 ui::PageTransition transition);
137 146
147 // Setups default command line that will be used to launch the child browser
148 // process with an in-process test. Called by SetUp() after SetupCommandLine()
149 // to add default commandline switches. A default implementation is provided
150 // in this class. If a test does not want to use the default implementation,
151 // it should override this method.
152 virtual void SetUpDefaultCommandLine(base::CommandLine* command_line);
153
138 // Initializes the contents of the user data directory. Called by SetUp() 154 // Initializes the contents of the user data directory. Called by SetUp()
139 // after creating the user data directory, but before any browser is launched. 155 // after creating the user data directory, but before any browser is launched.
140 // If a test wishes to set up some initial non-empty state in the user data 156 // If a test wishes to set up some initial non-empty state in the user data
141 // directory before the browser starts up, it can do so here. Returns true if 157 // directory before the browser starts up, it can do so here. Returns true if
142 // successful. 158 // successful.
143 virtual bool SetUpUserDataDirectory() WARN_UNUSED_RESULT; 159 virtual bool SetUpUserDataDirectory() WARN_UNUSED_RESULT;
144 160
145 // BrowserTestBase: 161 // BrowserTestBase:
146 void RunTestOnMainThreadLoop() override; 162 void RunTestOnMainThreadLoop() override;
147 163
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 #endif // OS_MACOSX 216 #endif // OS_MACOSX
201 217
202 void set_exit_when_last_browser_closes(bool value) { 218 void set_exit_when_last_browser_closes(bool value) {
203 exit_when_last_browser_closes_ = value; 219 exit_when_last_browser_closes_ = value;
204 } 220 }
205 221
206 void set_open_about_blank_on_browser_launch(bool value) { 222 void set_open_about_blank_on_browser_launch(bool value) {
207 open_about_blank_on_browser_launch_ = value; 223 open_about_blank_on_browser_launch_ = value;
208 } 224 }
209 225
210 // This must be called before RunTestOnMainThreadLoop() to have any effect.
211 void set_multi_desktop_test(bool multi_desktop_test) {
212 multi_desktop_test_ = multi_desktop_test;
213 }
214
215 // Runs accessibility checks and sets |error_message| if it fails. 226 // Runs accessibility checks and sets |error_message| if it fails.
216 bool RunAccessibilityChecks(std::string* error_message); 227 bool RunAccessibilityChecks(std::string* error_message);
217 228
218 private: 229 private:
219 // Creates a user data directory for the test if one is needed. Returns true 230 // Creates a user data directory for the test if one is needed. Returns true
220 // if successful. 231 // if successful.
221 virtual bool CreateUserDataDirectory() WARN_UNUSED_RESULT; 232 virtual bool CreateUserDataDirectory() WARN_UNUSED_RESULT;
222 233
223 // Quits all open browsers and waits until there are no more browsers. 234 // Quits all open browsers and waits until there are no more browsers.
224 void QuitBrowsers(); 235 void QuitBrowsers();
225 236
226 // Prepare command line that will be used to launch the child browser process
227 // with an in-process test.
228 void PrepareTestCommandLine(base::CommandLine* command_line);
229
230 // Browser created from CreateBrowser. 237 // Browser created from CreateBrowser.
231 Browser* browser_; 238 Browser* browser_;
232 239
233 // Temporary user data directory. Used only when a user data directory is not 240 // Temporary user data directory. Used only when a user data directory is not
234 // specified in the command line. 241 // specified in the command line.
235 base::ScopedTempDir temp_user_data_dir_; 242 base::ScopedTempDir temp_user_data_dir_;
236 243
237 // True if we should exit the tests after the last browser instance closes. 244 // True if we should exit the tests after the last browser instance closes.
238 bool exit_when_last_browser_closes_; 245 bool exit_when_last_browser_closes_;
239 246
240 // True if the about:blank tab should be opened when the browser is launched. 247 // True if the about:blank tab should be opened when the browser is launched.
241 bool open_about_blank_on_browser_launch_; 248 bool open_about_blank_on_browser_launch_;
242 249
243 // True if this is a multi-desktop test (in which case this browser test will
244 // not ensure that Browsers are only created on the tested desktop).
245 bool multi_desktop_test_;
246
247 // True if the accessibility test should run for a particular test case. 250 // True if the accessibility test should run for a particular test case.
248 // This is reset for every test case. 251 // This is reset for every test case.
249 bool run_accessibility_checks_for_test_case_; 252 bool run_accessibility_checks_for_test_case_;
250 253
251 #if defined(OS_MACOSX) 254 #if defined(OS_MACOSX)
252 base::mac::ScopedNSAutoreleasePool* autorelease_pool_; 255 base::mac::ScopedNSAutoreleasePool* autorelease_pool_;
253 std::unique_ptr<ScopedBundleSwizzlerMac> bundle_swizzler_; 256 std::unique_ptr<ScopedBundleSwizzlerMac> bundle_swizzler_;
254 #endif // OS_MACOSX 257 #endif // OS_MACOSX
255 258
256 #if defined(OS_WIN) 259 #if defined(OS_WIN)
257 std::unique_ptr<base::win::ScopedCOMInitializer> com_initializer_; 260 std::unique_ptr<base::win::ScopedCOMInitializer> com_initializer_;
258 #endif 261 #endif
259 }; 262 };
260 263
261 #endif // CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_ 264 #endif // CHROME_TEST_BASE_IN_PROCESS_BROWSER_TEST_H_
OLDNEW
« no previous file with comments | « chrome/browser/media/encrypted_media_supported_types_browsertest.cc ('k') | chrome/test/base/in_process_browser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698