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

Side by Side Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 2539833002: Deliver errors from devtools API calls to callbacks (Closed)
Patch Set: Addressed review comments Created 4 years 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 unified diff | Download patch
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/browser/render_widget_host_view.h" 8 #include "content/public/browser/render_widget_host_view.h"
9 #include "content/public/browser/web_contents.h" 9 #include "content/public/browser/web_contents.h"
10 #include "content/public/common/url_constants.h" 10 #include "content/public/common/url_constants.h"
11 #include "content/public/test/browser_test.h" 11 #include "content/public/test/browser_test.h"
12 #include "headless/lib/browser/headless_web_contents_impl.h" 12 #include "headless/lib/browser/headless_web_contents_impl.h"
13 #include "headless/public/devtools/domains/dom.h"
13 #include "headless/public/devtools/domains/emulation.h" 14 #include "headless/public/devtools/domains/emulation.h"
14 #include "headless/public/devtools/domains/inspector.h" 15 #include "headless/public/devtools/domains/inspector.h"
15 #include "headless/public/devtools/domains/network.h" 16 #include "headless/public/devtools/domains/network.h"
16 #include "headless/public/devtools/domains/page.h" 17 #include "headless/public/devtools/domains/page.h"
17 #include "headless/public/devtools/domains/runtime.h" 18 #include "headless/public/devtools/domains/runtime.h"
18 #include "headless/public/devtools/domains/target.h" 19 #include "headless/public/devtools/domains/target.h"
19 #include "headless/public/headless_browser.h" 20 #include "headless/public/headless_browser.h"
20 #include "headless/public/headless_devtools_client.h" 21 #include "headless/public/headless_devtools_client.h"
21 #include "headless/public/headless_devtools_target.h" 22 #include "headless/public/headless_devtools_target.h"
22 #include "headless/test/headless_browser_test.h" 23 #include "headless/test/headless_browser_test.h"
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 // detaches devtools_client_. 740 // detaches devtools_client_.
740 FinishAsynchronousTest(); 741 FinishAsynchronousTest();
741 } 742 }
742 743
743 protected: 744 protected:
744 std::unique_ptr<HeadlessDevToolsClient> other_devtools_client_; 745 std::unique_ptr<HeadlessDevToolsClient> other_devtools_client_;
745 }; 746 };
746 747
747 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientAttachTest); 748 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientAttachTest);
748 749
750 class HeadlessDevToolsMethodCallErrorTest
751 : public HeadlessAsyncDevTooledBrowserTest,
752 public page::Observer {
753 public:
754 void RunDevTooledTest() override {
755 EXPECT_TRUE(embedded_test_server()->Start());
756 devtools_client_->GetPage()->AddObserver(this);
757 devtools_client_->GetPage()->Enable();
758 devtools_client_->GetPage()->Navigate(
759 embedded_test_server()->GetURL("/hello.html").spec());
760 }
761
762 void OnLoadEventFired(const page::LoadEventFiredParams& params) override {
763 devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this);
764 devtools_client_->GetDOM()->GetDocument(
765 base::Bind(&HeadlessDevToolsMethodCallErrorTest::OnGetDocument,
766 base::Unretained(this)));
767 }
768
769 void OnGetDocument(std::unique_ptr<dom::GetDocumentResult> result) {
770 devtools_client_->GetDOM()->QuerySelector(
771 dom::QuerySelectorParams::Builder()
772 .SetNodeId(result->GetRoot()->GetNodeId())
773 .SetSelector("<o_O>")
774 .Build(),
775 base::Bind(&HeadlessDevToolsMethodCallErrorTest::OnQuerySelector,
776 base::Unretained(this)));
777 }
778
779 void OnQuerySelector(std::unique_ptr<dom::QuerySelectorResult> result) {
780 EXPECT_EQ(nullptr, result);
781 FinishAsynchronousTest();
782 }
783 };
784
785 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsMethodCallErrorTest);
786
749 } // namespace headless 787 } // namespace headless
OLDNEW
« 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