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

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

Issue 2155293002: Show the Cast toolbar icon ephemerally when Cast is in use (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase 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
Index: chrome/browser/ui/toolbar/media_router_contextual_menu.cc
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
index e22a3e04bbbc6021c08d11c47c399944e2d14113..b40ae60d863173a82922df7ac3acfdca19762c62 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
@@ -12,19 +12,20 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/singleton_tabs.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/media_router_contextual_menu.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
+#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
+#include "components/prefs/pref_service.h"
#include "extensions/common/constants.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/menu_model_delegate.h"
#if defined(GOOGLE_CHROME_BUILD)
#include "chrome/browser/signin/signin_manager_factory.h"
-#include "chrome/common/pref_names.h"
-#include "components/prefs/pref_service.h"
#include "components/signin/core/browser/signin_manager.h"
#endif // defined(GOOGLE_CHROME_BUILD)
@@ -38,8 +39,9 @@ MediaRouterContextualMenu::MediaRouterContextualMenu(Browser* browser)
IDS_MEDIA_ROUTER_LEARN_MORE);
menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_HELP,
IDS_MEDIA_ROUTER_HELP);
- menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION,
- IDS_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION);
+ menu_model_.AddCheckItemWithStringId(
+ IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION,
+ IDS_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION);
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_MANAGE_DEVICES,
@@ -63,6 +65,10 @@ bool MediaRouterContextualMenu::IsCommandIdChecked(int command_id) const {
prefs::kMediaRouterEnableCloudServices);
}
#endif // defined(GOOGLE_CHROME_BUILD)
+ if (command_id == IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION) {
+ return browser_->profile()->GetPrefs()->GetBoolean(
+ prefs::kMediaRouterAlwaysShowActionIcon);
+ }
return false;
}
@@ -93,15 +99,18 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id,
"https://support.google.com/chromecast/answer/2998338";
#if defined(GOOGLE_CHROME_BUILD)
- PrefService* pref_service;
+ PrefService* pref_service = browser_->profile()->GetPrefs();
msw 2016/07/26 19:59:31 optional nit: move to IDC_MEDIA_ROUTER_CLOUD_SERVI
takumif 2016/07/28 20:04:11 Undid this change (not sure what you meant with cu
#endif // defined(GOOGLE_CHROME_BUILD)
switch (command_id) {
case IDC_MEDIA_ROUTER_ABOUT:
chrome::ShowSingletonTab(browser_, GURL(kAboutPageUrl));
break;
+ case IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION:
+ if (action_)
msw 2016/07/26 19:59:31 Should this DCHECK? Is it possible to toggle on wh
takumif 2016/07/28 20:04:11 The action owns the contextual menu, so no it shou
+ action_->ToggleVisibilityPreference();
+ break;
#if defined(GOOGLE_CHROME_BUILD)
case IDC_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE:
- pref_service = browser_->profile()->GetPrefs();
pref_service->SetBoolean(prefs::kMediaRouterEnableCloudServices,
!pref_service->GetBoolean(prefs::kMediaRouterEnableCloudServices));
@@ -123,9 +132,6 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id,
chrome::ShowSingletonTab(browser_, GURL(chrome::kChromeUICastURL));
break;
#endif
- case IDC_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION:
- RemoveMediaRouterComponentAction();
- break;
case IDC_MEDIA_ROUTER_REPORT_ISSUE:
ReportIssue();
break;
@@ -134,6 +140,11 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id,
}
}
+void MediaRouterContextualMenu::SetMediaRouterAction(
+ const base::WeakPtr<MediaRouterAction>& action) {
+ action_ = action;
+}
+
void MediaRouterContextualMenu::ReportIssue() {
// Opens feedback page loaded from the media router extension.
// This is temporary until feedback UI is redesigned.
@@ -150,8 +161,3 @@ void MediaRouterContextualMenu::ReportIssue() {
"/feedback.html");
chrome::ShowSingletonTab(browser_, GURL(feedback_url));
}
-
-void MediaRouterContextualMenu::RemoveMediaRouterComponentAction() {
- ToolbarActionsModel::Get(browser_->profile())->component_migration_helper()
- ->OnActionRemoved(ComponentToolbarActionsFactory::kMediaRouterActionId);
-}

Powered by Google App Engine
This is Rietveld 408576698