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

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

Issue 2514343002: Don't silently eat Inspector.TargetCrashed (Closed)
Patch Set: Added a comment 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/emulation.h" 13 #include "headless/public/devtools/domains/emulation.h"
14 #include "headless/public/devtools/domains/inspector.h"
14 #include "headless/public/devtools/domains/network.h" 15 #include "headless/public/devtools/domains/network.h"
15 #include "headless/public/devtools/domains/page.h" 16 #include "headless/public/devtools/domains/page.h"
16 #include "headless/public/devtools/domains/runtime.h" 17 #include "headless/public/devtools/domains/runtime.h"
17 #include "headless/public/devtools/domains/target.h" 18 #include "headless/public/devtools/domains/target.h"
18 #include "headless/public/headless_browser.h" 19 #include "headless/public/headless_browser.h"
19 #include "headless/public/headless_devtools_client.h" 20 #include "headless/public/headless_devtools_client.h"
20 #include "headless/public/headless_devtools_target.h" 21 #include "headless/public/headless_devtools_target.h"
21 #include "headless/test/headless_browser_test.h" 22 #include "headless/test/headless_browser_test.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
23 #include "url/gurl.h" 24 #include "url/gurl.h"
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 EXPECT_TRUE(navigation_requested_); 655 EXPECT_TRUE(navigation_requested_);
655 FinishAsynchronousTest(); 656 FinishAsynchronousTest();
656 } 657 }
657 658
658 private: 659 private:
659 bool navigation_requested_ = false; 660 bool navigation_requested_ = false;
660 }; 661 };
661 662
662 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest); 663 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsNavigationControlTest);
663 664
664 class HeadlessCrashObserverTest : public HeadlessAsyncDevTooledBrowserTest { 665 class HeadlessCrashObserverTest : public HeadlessAsyncDevTooledBrowserTest,
666 inspector::ExperimentalObserver {
665 public: 667 public:
666 void RunDevTooledTest() override { 668 void RunDevTooledTest() override {
669 devtools_client_->GetInspector()->GetExperimental()->AddObserver(this);
670 devtools_client_->GetInspector()->GetExperimental()->Enable(
671 headless::inspector::EnableParams::Builder().Build());
667 devtools_client_->GetPage()->Enable(); 672 devtools_client_->GetPage()->Enable();
668 devtools_client_->GetPage()->Navigate(content::kChromeUICrashURL); 673 devtools_client_->GetPage()->Navigate(content::kChromeUICrashURL);
669 } 674 }
670 675
676 void OnTargetCrashed(const inspector::TargetCrashedParams& params) override {
677 FinishAsynchronousTest();
678 render_process_exited_ = true;
679 }
680
681 // Make sure we don't fail because the renderer crashed!
671 void RenderProcessExited(base::TerminationStatus status, 682 void RenderProcessExited(base::TerminationStatus status,
672 int exit_code) override { 683 int exit_code) override {
673 EXPECT_EQ(base::TERMINATION_STATUS_ABNORMAL_TERMINATION, status); 684 EXPECT_EQ(base::TERMINATION_STATUS_ABNORMAL_TERMINATION, status);
674 FinishAsynchronousTest();
675 render_process_exited_ = true;
676 } 685 }
677 }; 686 };
678 687
679 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessCrashObserverTest); 688 HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessCrashObserverTest);
680 689
681 } // namespace headless 690 } // 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