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

Unified Diff: chrome/browser/ui/toolbar/media_router_action_unittest.cc

Issue 2260343002: Revert of Show the Cast toolbar icon ephemerally when Cast is in use (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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/toolbar/media_router_action_unittest.cc
diff --git a/chrome/browser/ui/toolbar/media_router_action_unittest.cc b/chrome/browser/ui/toolbar/media_router_action_unittest.cc
index 68edf5f19d2c9594d7e50185f11802262d5b941d..d09f0225681e175132a815f50659208f07e74950 100644
--- a/chrome/browser/ui/toolbar/media_router_action_unittest.cc
+++ b/chrome/browser/ui/toolbar/media_router_action_unittest.cc
@@ -2,15 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/auto_reset.h"
-#include "base/command_line.h"
#include "base/macros.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/extension_action_test_util.h"
-#include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
#include "chrome/browser/ui/toolbar/media_router_action.h"
#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
#include "chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h"
@@ -52,7 +48,6 @@
MediaRouterDialogControllerImpl* controller) {
DCHECK(controller);
controller_ = controller;
- controller_->SetMediaRouterAction(GetWeakPtr());
}
private:
@@ -63,11 +58,6 @@
MediaRouterActionPlatformDelegate* GetPlatformDelegate() override {
return platform_delegate_;
- }
-
- void MaybeRemoveAction() override {
- if (GetMediaRouterDialogController())
- MediaRouterAction::MaybeRemoveAction();
}
MediaRouterDialogControllerImpl* controller_;
@@ -124,12 +114,8 @@
// MediaRouterTest:
void SetUp() override {
MediaRouterTest::SetUp();
- static_cast<extensions::TestExtensionSystem*>(
- extensions::ExtensionSystem::Get(profile()))
- ->CreateExtensionService(base::CommandLine::ForCurrentProcess(),
- base::FilePath(), false);
toolbar_model_ = extensions::extension_action_test_util::
- CreateToolbarModelForProfile(profile());
+ CreateToolbarModelForProfileWithoutWaitingForReady(profile());
// browser() will only be valid once BrowserWithTestWindowTest::SetUp()
// has run.
@@ -139,9 +125,6 @@
new TestMediaRouterAction(
browser(),
browser_action_test_util_->GetToolbarActionsBar()));
- delegate_.reset(new MockToolbarActionViewDelegate());
-
- action()->SetDelegate(delegate_.get());
local_display_route_list_.push_back(
media_router::MediaRoute("routeId1", fake_source1_, "sinkId1",
@@ -155,23 +138,12 @@
}
void TearDown() override {
- delegate_.reset();
+ browser_action_test_util_.reset();
action_.reset();
- browser_action_test_util_.reset();
MediaRouterTest::TearDown();
}
- bool ActionExists() {
- return toolbar_model_->HasComponentAction(
- ComponentToolbarActionsFactory::kMediaRouterActionId);
- }
-
- void ResetTestMediaRouterAction() {
- action_.reset();
- }
-
TestMediaRouterAction* action() { return action_.get(); }
- ToolbarActionsModel* toolbar_model() { return toolbar_model_; }
const media_router::Issue* fake_issue_notification() {
return &fake_issue_notification_;
}
@@ -203,7 +175,6 @@
std::unique_ptr<BrowserActionTestUtil> browser_action_test_util_;
std::unique_ptr<TestMediaRouterAction> action_;
- std::unique_ptr<MockToolbarActionViewDelegate> delegate_;
// The associated ToolbarActionsModel (owned by the keyed service setup).
ToolbarActionsModel* toolbar_model_;
@@ -349,131 +320,42 @@
}
TEST_F(MediaRouterActionUnitTest, IconPressedState) {
- base::AutoReset<bool> disable_animations(
- &ToolbarActionsBar::disable_animations_for_testing_, true);
-
// Start with one window with one tab.
EXPECT_EQ(0, browser()->tab_strip_model()->count());
chrome::NewTab(browser());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents();
- MediaRouterDialogControllerImpl::CreateForWebContents(initiator);
- MediaRouterDialogControllerImpl* dialog_controller =
- MediaRouterDialogControllerImpl::FromWebContents(initiator);
- ASSERT_TRUE(dialog_controller);
+ // Create a reference to initiator contents.
+ WebContents* initiator_ =
+ browser()->tab_strip_model()->GetActiveWebContents();
+
+ MediaRouterDialogControllerImpl::CreateForWebContents(initiator_);
+ MediaRouterDialogControllerImpl* dialog_controller_ =
+ MediaRouterDialogControllerImpl::FromWebContents(initiator_);
+ ASSERT_TRUE(dialog_controller_);
// Sets the controller to use for TestMediaRouterAction.
- action()->SetMediaRouterDialogController(dialog_controller);
-
- // Add the icon to the toolbar and make it persist.
- toolbar_model()->AddComponentAction(
- ComponentToolbarActionsFactory::kMediaRouterActionId);
- action()->ToggleVisibilityPreference();
- EXPECT_TRUE(ActionExists());
-
+ action()->SetMediaRouterDialogController(dialog_controller_);
+
+ // Create a ToolbarActionViewDelegate to use for MediaRouterAction.
+ std::unique_ptr<MockToolbarActionViewDelegate> mock_delegate(
+ new MockToolbarActionViewDelegate());
+
+ EXPECT_CALL(*mock_delegate, GetCurrentWebContents()).WillOnce(
+ testing::Return(initiator_));
+ EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1);
+ action()->SetDelegate(mock_delegate.get());
+
+ EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1);
action()->ExecuteAction(true);
- EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog());
// Pressing the icon while the popup is shown should close the popup
+ EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1);
action()->ExecuteAction(true);
- EXPECT_FALSE(dialog_controller->IsShowingMediaRouterDialog());
-
- dialog_controller->CreateMediaRouterDialog();
- EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog());
-
- dialog_controller->HideMediaRouterDialog();
- EXPECT_FALSE(dialog_controller->IsShowingMediaRouterDialog());
-
- // Make the icon go away.
- action()->ToggleVisibilityPreference();
- EXPECT_FALSE(ActionExists());
-}
-
-TEST_F(MediaRouterActionUnitTest, EphemeralIcon) {
- // We'll be using the action created by the toolbar model in this test,
- // so we remove the test action here.
- ResetTestMediaRouterAction();
-
- base::AutoReset<bool> disable_animations(
- &ToolbarActionsBar::disable_animations_for_testing_, true);
-
- // Start with one window with one tab.
- EXPECT_EQ(0, browser()->tab_strip_model()->count());
- chrome::NewTab(browser());
- EXPECT_EQ(1, browser()->tab_strip_model()->count());
-
- WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents();
- MediaRouterDialogControllerImpl::CreateForWebContents(initiator);
- MediaRouterDialogControllerImpl* dialog_controller =
- MediaRouterDialogControllerImpl::FromWebContents(initiator);
- ASSERT_TRUE(dialog_controller);
-
- EXPECT_FALSE(ActionExists());
- // Show the popup. The icon should become visible.
- dialog_controller->ShowMediaRouterDialog();
- EXPECT_TRUE(ActionExists());
- // Hide the popup. The icon should become hidden.
- dialog_controller->HideMediaRouterDialog();
- EXPECT_FALSE(ActionExists());
-
- // Show the popup.
- dialog_controller->ShowMediaRouterDialog();
- // Add a local display route.
- dialog_controller->action_for_test()
- ->OnRoutesUpdated(local_display_route_list(), empty_route_id_list());
- EXPECT_TRUE(ActionExists());
- // Hide the popup while there's still a local media route. The icon should not
- // be hidden as long as the media route exists.
- dialog_controller->HideMediaRouterDialog();
- EXPECT_TRUE(ActionExists());
- // Remove the local route. Now the icon should be hidden.
- dialog_controller->action_for_test()->OnRoutesUpdated(
- std::vector<media_router::MediaRoute>(),
- empty_route_id_list());
- EXPECT_FALSE(ActionExists());
-}
-
-TEST_F(MediaRouterActionUnitTest, ToggleIconVisibilityPreference) {
- // We'll be using the action created by the toolbar model in this test,
- // so we remove the test action here.
- ResetTestMediaRouterAction();
-
- base::AutoReset<bool> disable_animations(
- &ToolbarActionsBar::disable_animations_for_testing_, true);
-
- // Start with one window with one tab.
- EXPECT_EQ(0, browser()->tab_strip_model()->count());
- chrome::NewTab(browser());
- EXPECT_EQ(1, browser()->tab_strip_model()->count());
-
- WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents();
- MediaRouterDialogControllerImpl::CreateForWebContents(initiator);
- MediaRouterDialogControllerImpl* dialog_controller =
- MediaRouterDialogControllerImpl::FromWebContents(initiator);
- ASSERT_TRUE(dialog_controller);
-
- EXPECT_FALSE(ActionExists());
- // Show the popup. The icon should become visible.
- dialog_controller->ShowMediaRouterDialog();
- EXPECT_TRUE(ActionExists());
- // Turn on the settings to always show the icon.
- dialog_controller->action_for_test()->ToggleVisibilityPreference();
- // Hide the popup. The icon should stay visible.
- dialog_controller->HideMediaRouterDialog();
- EXPECT_TRUE(ActionExists());
-
- // Close the tab and open another.
- browser()->tab_strip_model()->CloseAllTabs();
- EXPECT_EQ(0, browser()->tab_strip_model()->count());
- chrome::NewTab(browser());
- // The icon should persist.
- EXPECT_TRUE(ActionExists());
- // Get the dialog controller for the new tab.
- dialog_controller = MediaRouterDialogControllerImpl::FromWebContents(
- browser()->tab_strip_model()->GetActiveWebContents());
- // Turn off the setting to always show the icon.
- // The icon should get hidden now.
- dialog_controller->action_for_test()->ToggleVisibilityPreference();
- EXPECT_FALSE(ActionExists());
-}
+
+ EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1);
+ dialog_controller_->CreateMediaRouterDialog();
+
+ EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1);
+ dialog_controller_->HideMediaRouterDialog();
+}
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_action.cc ('k') | chrome/browser/ui/toolbar/media_router_contextual_menu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698