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

Side by Side Diff: headless/test/headless_browser_test.h

Issue 2024973002: headless: Allow protocol handler customization (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_ 5 #ifndef HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_
6 #define HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_ 6 #define HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include "content/public/test/browser_test_base.h" 9 #include "content/public/test/browser_test_base.h"
10 #include "headless/public/headless_browser.h" 10 #include "headless/public/headless_browser.h"
11 11
12 namespace base { 12 namespace base {
13 class RunLoop; 13 class RunLoop;
14 } 14 }
15 15
16 namespace headless { 16 namespace headless {
17 namespace runtime {
18 class EvaluateResult;
19 }
17 class HeadlessWebContents; 20 class HeadlessWebContents;
18 21
19 // Base class for tests which require a full instance of the headless browser. 22 // Base class for tests which require a full instance of the headless browser.
20 class HeadlessBrowserTest : public content::BrowserTestBase { 23 class HeadlessBrowserTest : public content::BrowserTestBase {
21 public: 24 public:
22 // Notify that an asynchronous test is now complete and the test runner should 25 // Notify that an asynchronous test is now complete and the test runner should
23 // exit. 26 // exit.
24 void FinishAsynchronousTest(); 27 void FinishAsynchronousTest();
25 28
26 protected: 29 protected:
(...skipping 10 matching lines...) Expand all
37 // pumps) cannot be set via this method. 40 // pumps) cannot be set via this method.
38 void SetBrowserOptions(HeadlessBrowser::Options options); 41 void SetBrowserOptions(HeadlessBrowser::Options options);
39 42
40 // Run an asynchronous test in a nested run loop. The caller should call 43 // Run an asynchronous test in a nested run loop. The caller should call
41 // FinishAsynchronousTest() to notify that the test should finish. 44 // FinishAsynchronousTest() to notify that the test should finish.
42 void RunAsynchronousTest(); 45 void RunAsynchronousTest();
43 46
44 // Synchronously waits for a tab to finish loading. 47 // Synchronously waits for a tab to finish loading.
45 bool WaitForLoad(HeadlessWebContents* web_contents); 48 bool WaitForLoad(HeadlessWebContents* web_contents);
46 49
50 // Synchronously evaluates a script and returns the result.
51 std::unique_ptr<runtime::EvaluateResult> EvaluateScript(
52 HeadlessWebContents* web_contents,
53 const std::string& script);
54
47 protected: 55 protected:
48 // Returns the browser for the test. 56 // Returns the browser for the test.
49 HeadlessBrowser* browser() const; 57 HeadlessBrowser* browser() const;
50 58
51 private: 59 private:
52 std::unique_ptr<base::RunLoop> run_loop_; 60 std::unique_ptr<base::RunLoop> run_loop_;
53 61
54 DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserTest); 62 DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserTest);
55 }; 63 };
56 64
57 } // namespace headless 65 } // namespace headless
58 66
59 #endif // HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_ 67 #endif // HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698