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

Side by Side Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 2642683004: [headless] Ensure devtooled tests call Disable/RemoveObserver. (Closed)
Patch Set: . Created 3 years, 11 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 #include <memory> 5 #include <memory>
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "content/public/browser/render_widget_host_view.h" 8 #include "content/public/browser/render_widget_host_view.h"
9 #include "content/public/browser/web_contents.h" 9 #include "content/public/browser/web_contents.h"
10 #include "content/public/common/url_constants.h" 10 #include "content/public/common/url_constants.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 std::unique_ptr<page::NavigateParams> params = 58 std::unique_ptr<page::NavigateParams> params =
59 page::NavigateParams::Builder() 59 page::NavigateParams::Builder()
60 .SetUrl(embedded_test_server()->GetURL("/hello.html").spec()) 60 .SetUrl(embedded_test_server()->GetURL("/hello.html").spec())
61 .Build(); 61 .Build();
62 devtools_client_->GetPage()->GetExperimental()->AddObserver(this); 62 devtools_client_->GetPage()->GetExperimental()->AddObserver(this);
63 devtools_client_->GetPage()->Enable(); 63 devtools_client_->GetPage()->Enable();
64 devtools_client_->GetPage()->Navigate(std::move(params)); 64 devtools_client_->GetPage()->Navigate(std::move(params));
65 } 65 }
66 66
67 void OnLoadEventFired(const page::LoadEventFiredParams& params) override { 67 void OnLoadEventFired(const page::LoadEventFiredParams& params) override {
68 devtools_client_->GetPage()->Disable();
68 devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this); 69 devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this);
69 FinishAsynchronousTest(); 70 FinishAsynchronousTest();
70 } 71 }
71 72
72 // Check that events with no parameters still get a parameters object. 73 // Check that events with no parameters still get a parameters object.
73 void OnFrameResized(const page::FrameResizedParams& params) override {} 74 void OnFrameResized(const page::FrameResizedParams& params) override {}
74 }; 75 };
75 76
76 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientNavigationTest); 77 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientNavigationTest);
77 78
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 168
168 void OnResponseReceived( 169 void OnResponseReceived(
169 const network::ResponseReceivedParams& params) override { 170 const network::ResponseReceivedParams& params) override {
170 EXPECT_EQ(200, params.GetResponse()->GetStatus()); 171 EXPECT_EQ(200, params.GetResponse()->GetStatus());
171 EXPECT_EQ("OK", params.GetResponse()->GetStatusText()); 172 EXPECT_EQ("OK", params.GetResponse()->GetStatusText());
172 std::string content_type; 173 std::string content_type;
173 EXPECT_TRUE(params.GetResponse()->GetHeaders()->GetString("Content-Type", 174 EXPECT_TRUE(params.GetResponse()->GetHeaders()->GetString("Content-Type",
174 &content_type)); 175 &content_type));
175 EXPECT_EQ("text/html", content_type); 176 EXPECT_EQ("text/html", content_type);
176 177
178 devtools_client_->GetNetwork()->Disable();
177 devtools_client_->GetNetwork()->RemoveObserver(this); 179 devtools_client_->GetNetwork()->RemoveObserver(this);
178 FinishAsynchronousTest(); 180 FinishAsynchronousTest();
179 } 181 }
180 }; 182 };
181 183
182 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientObserverTest); 184 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientObserverTest);
183 185
184 class HeadlessDevToolsClientExperimentalTest 186 class HeadlessDevToolsClientExperimentalTest
185 : public HeadlessAsyncDevTooledBrowserTest, 187 : public HeadlessAsyncDevTooledBrowserTest,
186 page::ExperimentalObserver { 188 page::ExperimentalObserver {
(...skipping 14 matching lines...) Expand all
201 runtime::RunIfWaitingForDebuggerParams::Builder().Build()); 203 runtime::RunIfWaitingForDebuggerParams::Builder().Build());
202 204
203 devtools_client_->GetPage()->GetExperimental()->AddObserver(this); 205 devtools_client_->GetPage()->GetExperimental()->AddObserver(this);
204 devtools_client_->GetPage()->Enable(); 206 devtools_client_->GetPage()->Enable();
205 devtools_client_->GetPage()->Navigate( 207 devtools_client_->GetPage()->Navigate(
206 embedded_test_server()->GetURL("/hello.html").spec()); 208 embedded_test_server()->GetURL("/hello.html").spec());
207 } 209 }
208 210
209 void OnFrameStoppedLoading( 211 void OnFrameStoppedLoading(
210 const page::FrameStoppedLoadingParams& params) override { 212 const page::FrameStoppedLoadingParams& params) override {
213 devtools_client_->GetPage()->Disable();
214 devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this);
215
211 // Check that a non-experimental command which has no return value can be 216 // Check that a non-experimental command which has no return value can be
212 // called with a void() callback. 217 // called with a void() callback.
213 devtools_client_->GetPage()->Reload( 218 devtools_client_->GetPage()->Reload(
214 page::ReloadParams::Builder().Build(), 219 page::ReloadParams::Builder().Build(),
215 base::Bind(&HeadlessDevToolsClientExperimentalTest::OnReloadStarted, 220 base::Bind(&HeadlessDevToolsClientExperimentalTest::OnReloadStarted,
216 base::Unretained(this))); 221 base::Unretained(this)));
217 } 222 }
218 223
219 void OnReloadStarted() { FinishAsynchronousTest(); } 224 void OnReloadStarted() { FinishAsynchronousTest(); }
220 }; 225 };
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 783
779 void OnQuerySelector(std::unique_ptr<dom::QuerySelectorResult> result) { 784 void OnQuerySelector(std::unique_ptr<dom::QuerySelectorResult> result) {
780 EXPECT_EQ(nullptr, result); 785 EXPECT_EQ(nullptr, result);
781 FinishAsynchronousTest(); 786 FinishAsynchronousTest();
782 } 787 }
783 }; 788 };
784 789
785 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsMethodCallErrorTest); 790 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsMethodCallErrorTest);
786 791
787 } // namespace headless 792 } // namespace headless
OLDNEW
« no previous file with comments | « headless/lib/embedder_mojo_browsertest.cc ('k') | headless/public/util/dom_tree_extractor_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698