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

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

Issue 2509813006: HeadlessWebContents:Observer to observe render process exit status (Closed)
Patch Set: Make it safe to call Shutdown() Created 4 years, 1 month 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 <string> 9 #include <string>
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 // should override the RunDevTooledTest() method, which is called asynchronously 98 // should override the RunDevTooledTest() method, which is called asynchronously
99 // when the DevToolsClient is ready. 99 // when the DevToolsClient is ready.
100 class HeadlessAsyncDevTooledBrowserTest : public HeadlessBrowserTest, 100 class HeadlessAsyncDevTooledBrowserTest : public HeadlessBrowserTest,
101 public HeadlessWebContents::Observer { 101 public HeadlessWebContents::Observer {
102 public: 102 public:
103 HeadlessAsyncDevTooledBrowserTest(); 103 HeadlessAsyncDevTooledBrowserTest();
104 ~HeadlessAsyncDevTooledBrowserTest() override; 104 ~HeadlessAsyncDevTooledBrowserTest() override;
105 105
106 // HeadlessWebContentsObserver implementation: 106 // HeadlessWebContentsObserver implementation:
107 void DevToolsTargetReady() override; 107 void DevToolsTargetReady() override;
108 void RenderProcessExited(base::TerminationStatus status,
109 int exit_code) override;
108 110
109 // Implemented by tests and used to send request(s) to DevTools. Subclasses 111 // Implemented by tests and used to send request(s) to DevTools. Subclasses
110 // need to ensure that FinishAsynchronousTest() is called after response(s) 112 // need to ensure that FinishAsynchronousTest() is called after response(s)
111 // are processed (e.g. in a callback). 113 // are processed (e.g. in a callback).
112 virtual void RunDevTooledTest() = 0; 114 virtual void RunDevTooledTest() = 0;
113 115
114 protected: 116 protected:
115 void RunTest(); 117 void RunTest();
116 118
117 HeadlessBrowserContext* browser_context_; // Not owned. 119 HeadlessBrowserContext* browser_context_; // Not owned.
118 HeadlessWebContents* web_contents_; 120 HeadlessWebContents* web_contents_;
119 std::unique_ptr<HeadlessDevToolsClient> devtools_client_; 121 std::unique_ptr<HeadlessDevToolsClient> devtools_client_;
122 bool render_process_exited_;
120 }; 123 };
121 124
122 } // namespace headless 125 } // namespace headless
123 126
124 #endif // HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_ 127 #endif // HEADLESS_TEST_HEADLESS_BROWSER_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698