Chromium Code Reviews| 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 bool navigation_requested_ = false; | |
|
Sami
2016/08/01 11:05:02
nit: private:
alex clarke (OOO till 29th)
2016/08/01 15:37:02
Done.
| |
| 531 }; | |
| 532 | |
| 533 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest); | |
| 534 | |
| 497 } // namespace headless | 535 } // namespace headless |
| OLD | NEW |