| 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 |