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

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

Issue 1904073002: headless: Move hidden commands and events to experimental domains (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Also require parameters for hidden commands where the entire domain isn't hidden Created 4 years, 8 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
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/public/test/browser_test.h" 7 #include "content/public/test/browser_test.h"
8 #include "headless/public/domains/network.h" 8 #include "headless/public/domains/network.h"
9 #include "headless/public/domains/page.h" 9 #include "headless/public/domains/page.h"
10 #include "headless/public/domains/runtime.h" 10 #include "headless/public/domains/runtime.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 web_contents_->RemoveObserver(this); 52 web_contents_->RemoveObserver(this);
53 web_contents_->Close(); 53 web_contents_->Close();
54 web_contents_ = nullptr; 54 web_contents_ = nullptr;
55 } 55 }
56 56
57 HeadlessWebContents* web_contents_; 57 HeadlessWebContents* web_contents_;
58 std::unique_ptr<HeadlessDevToolsClient> devtools_client_; 58 std::unique_ptr<HeadlessDevToolsClient> devtools_client_;
59 }; 59 };
60 60
61 class HeadlessDevToolsClientNavigationTest : public HeadlessDevToolsClientTest, 61 class HeadlessDevToolsClientNavigationTest : public HeadlessDevToolsClientTest,
62 page::Observer { 62 page::ExperimentalObserver {
63 public: 63 public:
64 void RunDevToolsClientTest() override { 64 void RunDevToolsClientTest() override {
65 EXPECT_TRUE(embedded_test_server()->Start()); 65 EXPECT_TRUE(embedded_test_server()->Start());
66 std::unique_ptr<page::NavigateParams> params = 66 std::unique_ptr<page::NavigateParams> params =
67 page::NavigateParams::Builder() 67 page::NavigateParams::Builder()
68 .SetUrl(embedded_test_server()->GetURL("/hello.html").spec()) 68 .SetUrl(embedded_test_server()->GetURL("/hello.html").spec())
69 .Build(); 69 .Build();
70 devtools_client_->GetPage()->AddObserver(this); 70 devtools_client_->GetPage()->GetExperimental()->AddObserver(this);
71 devtools_client_->GetPage()->Enable(); 71 devtools_client_->GetPage()->Enable();
72 devtools_client_->GetPage()->Navigate(std::move(params)); 72 devtools_client_->GetPage()->Navigate(std::move(params));
73 } 73 }
74 74
75 void OnLoadEventFired(const page::LoadEventFiredParams& params) override { 75 void OnLoadEventFired(const page::LoadEventFiredParams& params) override {
76 devtools_client_->GetPage()->RemoveObserver(this); 76 devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this);
77 FinishAsynchronousTest(); 77 FinishAsynchronousTest();
78 } 78 }
79 79
80 // Check that events with no parameters still get a parameters object. 80 // Check that events with no parameters still get a parameters object.
81 void OnFrameResized(const page::FrameResizedParams& params) override {} 81 void OnFrameResized(const page::FrameResizedParams& params) override {}
82 }; 82 };
83 83
84 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientNavigationTest); 84 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientNavigationTest);
85 85
86 class HeadlessDevToolsClientEvalTest : public HeadlessDevToolsClientTest { 86 class HeadlessDevToolsClientEvalTest : public HeadlessDevToolsClientTest {
(...skipping 29 matching lines...) Expand all
116 }; 116 };
117 117
118 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientEvalTest); 118 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientEvalTest);
119 119
120 class HeadlessDevToolsClientCallbackTest : public HeadlessDevToolsClientTest { 120 class HeadlessDevToolsClientCallbackTest : public HeadlessDevToolsClientTest {
121 public: 121 public:
122 HeadlessDevToolsClientCallbackTest() : first_result_received_(false) {} 122 HeadlessDevToolsClientCallbackTest() : first_result_received_(false) {}
123 123
124 void RunDevToolsClientTest() override { 124 void RunDevToolsClientTest() override {
125 // Null callback without parameters. 125 // Null callback without parameters.
126 devtools_client_->GetRuntime()->Run(); 126 devtools_client_->GetPage()->Enable();
127 // Null callback with parameters. 127 // Null callback with parameters.
128 devtools_client_->GetRuntime()->Evaluate("true"); 128 devtools_client_->GetRuntime()->Evaluate("true");
129 // Non-null callback without parameters. 129 // Non-null callback without parameters.
130 devtools_client_->GetRuntime()->Disable( 130 devtools_client_->GetPage()->Disable(
131 base::Bind(&HeadlessDevToolsClientCallbackTest::OnFirstResult, 131 base::Bind(&HeadlessDevToolsClientCallbackTest::OnFirstResult,
132 base::Unretained(this))); 132 base::Unretained(this)));
133 // Non-null callback with parameters. 133 // Non-null callback with parameters.
134 devtools_client_->GetRuntime()->Evaluate( 134 devtools_client_->GetRuntime()->Evaluate(
135 "true", base::Bind(&HeadlessDevToolsClientCallbackTest::OnSecondResult, 135 "true", base::Bind(&HeadlessDevToolsClientCallbackTest::OnSecondResult,
136 base::Unretained(this))); 136 base::Unretained(this)));
137 } 137 }
138 138
139 void OnFirstResult() { 139 void OnFirstResult() {
140 EXPECT_FALSE(first_result_received_); 140 EXPECT_FALSE(first_result_received_);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 &content_type)); 179 &content_type));
180 EXPECT_EQ("text/html", content_type); 180 EXPECT_EQ("text/html", content_type);
181 181
182 devtools_client_->GetNetwork()->RemoveObserver(this); 182 devtools_client_->GetNetwork()->RemoveObserver(this);
183 FinishAsynchronousTest(); 183 FinishAsynchronousTest();
184 } 184 }
185 }; 185 };
186 186
187 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientObserverTest); 187 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientObserverTest);
188 188
189 class HeadlessDevToolsClientExperimentalTest
190 : public HeadlessDevToolsClientTest,
191 page::ExperimentalObserver {
192 public:
193 void RunDevToolsClientTest() override {
194 EXPECT_TRUE(embedded_test_server()->Start());
195 // Check that experimental commands require parameter objects.
196 devtools_client_->GetRuntime()->GetExperimental()->Run(
197 runtime::RunParams::Builder().Build());
198
199 devtools_client_->GetPage()->GetExperimental()->AddObserver(this);
200 devtools_client_->GetPage()->Enable();
201 devtools_client_->GetPage()->Navigate(
202 embedded_test_server()->GetURL("/hello.html").spec());
203 }
204
205 void OnFrameStoppedLoading(
206 const page::FrameStoppedLoadingParams& params) override {
207 FinishAsynchronousTest();
208 }
209 };
210
211 DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientExperimentalTest);
212
189 } // namespace headless 213 } // namespace headless
OLDNEW
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698