OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |