Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(455)

Unified Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 2200663002: HeadlessDevToolsClientImpl::DispatchEvent to post a task (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tweak for Sami Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..985c7d690c9bec969f6414156aa519124a445908 100644
--- a/headless/lib/headless_devtools_client_browsertest.cc
+++ b/headless/lib/headless_devtools_client_browsertest.cc
@@ -494,4 +494,43 @@ 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();
+ }
+
+ private:
+ bool navigation_requested_ = false;
+};
+
+HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest);
+
} // namespace headless
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698