Chromium Code Reviews| Index: headless/lib/headless_devtools_client_browsertest.cc |
| diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc |
| index 65e8145ad35272690a72c4c57d58962a083448a6..1b07956ddffabfe454884a34eee4ac5c0648cfd8 100644 |
| --- a/headless/lib/headless_devtools_client_browsertest.cc |
| +++ b/headless/lib/headless_devtools_client_browsertest.cc |
| @@ -494,4 +494,42 @@ class BrowserDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
| HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateTwoContexts); |
| +class HeadlessDevToolsNavigationControlTest |
| + : public HeadlessAsyncDevTooledBrowserTest, |
| + page::ExperimentalObserver { |
| + public: |
| + void RunDevTooledTest() override { |
| + EXPECT_TRUE(embedded_test_server()->Start()); |
| + devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
| + devtools_client_->GetPage()->Enable(); |
| + devtools_client_->GetPage()->GetExperimental()->SetControlNavigations( |
| + headless::page::SetControlNavigationsParams::Builder() |
| + .SetEnabled(true) |
| + .Build()); |
| + devtools_client_->GetPage()->Navigate( |
| + embedded_test_server()->GetURL("/hello.html").spec()); |
| + } |
| + |
| + void OnNavigationRequested( |
| + const headless::page::NavigationRequestedParams& params) override { |
| + navigation_requested_ = true; |
| + // Allow the navigation to proceed. |
| + devtools_client_->GetPage()->GetExperimental()->ProcessNavigation( |
| + headless::page::ProcessNavigationParams::Builder() |
| + .SetNavigationId(params.GetNavigationId()) |
| + .SetResponse(headless::page::NavigationResponse::PROCEED) |
| + .Build()); |
| + } |
| + |
| + void OnFrameStoppedLoading( |
| + const page::FrameStoppedLoadingParams& params) override { |
| + EXPECT_TRUE(navigation_requested_); |
| + FinishAsynchronousTest(); |
| + } |
| + |
| + 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.
|
| +}; |
| + |
| +HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest); |
| + |
| } // namespace headless |