| 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 "base/json/json_reader.h" | 7 #include "base/json/json_reader.h" |
| 8 #include "content/public/test/browser_test.h" | 8 #include "content/public/test/browser_test.h" |
| 9 #include "headless/public/domains/browser.h" | 9 #include "headless/public/domains/browser.h" |
| 10 #include "headless/public/domains/network.h" | 10 #include "headless/public/domains/network.h" |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 std::string page_id_one_; | 487 std::string page_id_one_; |
| 488 std::string page_id_two_; | 488 std::string page_id_two_; |
| 489 bool page_one_loaded_ = false; | 489 bool page_one_loaded_ = false; |
| 490 bool page_two_loaded_ = false; | 490 bool page_two_loaded_ = false; |
| 491 int page_close_count_ = 0; | 491 int page_close_count_ = 0; |
| 492 int context_closed_count_ = 0; | 492 int context_closed_count_ = 0; |
| 493 }; | 493 }; |
| 494 | 494 |
| 495 HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateTwoContexts); | 495 HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateTwoContexts); |
| 496 | 496 |
| 497 class HeadlessDevToolsNavigationControlTest |
| 498 : public HeadlessAsyncDevTooledBrowserTest, |
| 499 page::ExperimentalObserver { |
| 500 public: |
| 501 void RunDevTooledTest() override { |
| 502 EXPECT_TRUE(embedded_test_server()->Start()); |
| 503 devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
| 504 devtools_client_->GetPage()->Enable(); |
| 505 devtools_client_->GetPage()->GetExperimental()->SetControlNavigations( |
| 506 headless::page::SetControlNavigationsParams::Builder() |
| 507 .SetEnabled(true) |
| 508 .Build()); |
| 509 devtools_client_->GetPage()->Navigate( |
| 510 embedded_test_server()->GetURL("/hello.html").spec()); |
| 511 } |
| 512 |
| 513 void OnNavigationRequested( |
| 514 const headless::page::NavigationRequestedParams& params) override { |
| 515 navigation_requested_ = true; |
| 516 // Allow the navigation to proceed. |
| 517 devtools_client_->GetPage()->GetExperimental()->ProcessNavigation( |
| 518 headless::page::ProcessNavigationParams::Builder() |
| 519 .SetNavigationId(params.GetNavigationId()) |
| 520 .SetResponse(headless::page::NavigationResponse::PROCEED) |
| 521 .Build()); |
| 522 } |
| 523 |
| 524 void OnFrameStoppedLoading( |
| 525 const page::FrameStoppedLoadingParams& params) override { |
| 526 EXPECT_TRUE(navigation_requested_); |
| 527 FinishAsynchronousTest(); |
| 528 } |
| 529 |
| 530 private: |
| 531 bool navigation_requested_ = false; |
| 532 }; |
| 533 |
| 534 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest); |
| 535 |
| 497 } // namespace headless | 536 } // namespace headless |
| OLD | NEW |