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

Side by Side Diff: content/browser/devtools/protocol/devtools_protocol_browsertest.cc

Issue 2234343002: Fixes naming issues in Browser protocol handler + adds tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <stddef.h> 5 #include <stddef.h>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/base64.h" 8 #include "base/base64.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 TestJavaScriptDialogManager dialog_manager; 678 TestJavaScriptDialogManager dialog_manager;
679 shell()->web_contents()->SetDelegate(&dialog_manager); 679 shell()->web_contents()->SetDelegate(&dialog_manager);
680 SendCommand("Page.enable", nullptr, true); 680 SendCommand("Page.enable", nullptr, true);
681 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue()); 681 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue());
682 params->SetString("expression", "alert('alert')"); 682 params->SetString("expression", "alert('alert')");
683 SendCommand("Runtime.evaluate", std::move(params), false); 683 SendCommand("Runtime.evaluate", std::move(params), false);
684 WaitForNotification("Page.javascriptDialogOpening"); 684 WaitForNotification("Page.javascriptDialogOpening");
685 dialog_manager.Handle(); 685 dialog_manager.Handle();
686 } 686 }
687 687
688 IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, BrowserCreateTarget) { 688 IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, BrowserCreateAndCloseTarget) {
689 NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1); 689 NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1);
690 Attach(); 690 Attach();
691 EXPECT_EQ(1u, shell()->windows().size()); 691 EXPECT_EQ(1u, shell()->windows().size());
692 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue()); 692 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue());
693 params->SetString("url", "about:blank"); 693 params->SetString("url", "about:blank");
694 SendCommand("Browser.createTarget", std::move(params), true); 694 SendCommand("Browser.createTarget", std::move(params), true);
695 std::string target_id;
696 EXPECT_TRUE(result_->GetString("targetId", &target_id));
695 EXPECT_EQ(2u, shell()->windows().size()); 697 EXPECT_EQ(2u, shell()->windows().size());
698
699 // TODO(eseckler): Since the RenderView is closed asynchronously, we currently
700 // don't verify that the command actually closes the shell.
701 bool success;
702 params.reset(new base::DictionaryValue());
703 params->SetString("targetId", target_id);
704 SendCommand("Browser.closeTarget", std::move(params), true);
705 EXPECT_TRUE(result_->GetBoolean("success", &success));
706 EXPECT_TRUE(success);
707 }
708
709 IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, BrowserGetTargets) {
710 NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1);
711 Attach();
712 SendCommand("Browser.getTargets", nullptr, true);
713 base::ListValue* target_infos;
714 EXPECT_TRUE(result_->GetList("targetInfo", &target_infos));
715 EXPECT_EQ(1u, target_infos->GetSize());
716 base::DictionaryValue* target_info;
717 EXPECT_TRUE(target_infos->GetDictionary(0u, &target_info));
718 std::string target_id, type, title, url;
719 EXPECT_TRUE(target_info->GetString("targetId", &target_id));
720 EXPECT_TRUE(target_info->GetString("type", &type));
721 EXPECT_TRUE(target_info->GetString("title", &title));
722 EXPECT_TRUE(target_info->GetString("url", &url));
723 EXPECT_EQ(type, "web_contents");
724 EXPECT_EQ(title, "about:blank");
725 EXPECT_EQ(url, "about:blank");
696 } 726 }
697 727
698 namespace { 728 namespace {
699 class NavigationFinishedObserver : public content::WebContentsObserver { 729 class NavigationFinishedObserver : public content::WebContentsObserver {
700 public: 730 public:
701 explicit NavigationFinishedObserver(WebContents* web_contents) 731 explicit NavigationFinishedObserver(WebContents* web_contents)
702 : WebContentsObserver(web_contents), 732 : WebContentsObserver(web_contents),
703 num_finished_(0), 733 num_finished_(0),
704 num_to_wait_for_(0) {} 734 num_to_wait_for_(0) {}
705 735
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 params->SetString("policy", "advance"); 911 params->SetString("policy", "advance");
882 params->SetInteger("budget", 1000); 912 params->SetInteger("budget", 1000);
883 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true); 913 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true);
884 914
885 WaitForNotification("Emulation.virtualTimeBudgetExpired"); 915 WaitForNotification("Emulation.virtualTimeBudgetExpired");
886 916
887 EXPECT_THAT(console_messages_, ElementsAre("before", "done", "after")); 917 EXPECT_THAT(console_messages_, ElementsAre("before", "done", "after"));
888 } 918 }
889 919
890 } // namespace content 920 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/protocol/browser_handler.cc ('k') | content/shell/browser/shell_devtools_manager_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698