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

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

Issue 2559323002: Add a policy to always show the Cast toolbar icon (Closed)
Patch Set: Rebase Created 3 years, 11 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 a7d5bc4e4561162925ce00183d61af0ea2578ae5..a24fdb8c8633baab0fd437ebc0b0450975b8327a 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
+
#include <string>
#include "base/logging.h"
@@ -15,7 +17,7 @@
#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_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
@@ -24,9 +26,17 @@
#include "components/signin/core/browser/signin_manager.h"
#include "extensions/common/constants.h"
#include "ui/base/models/menu_model_delegate.h"
-
+#include "ui/gfx/color_palette.h"
+#include "ui/gfx/paint_vector_icon.h"
MediaRouterContextualMenu::MediaRouterContextualMenu(Browser* browser)
+ : MediaRouterContextualMenu(
+ browser,
+ MediaRouterActionController::IsActionShownByPolicy(
+ browser->profile())) {}
+
+MediaRouterContextualMenu::MediaRouterContextualMenu(Browser* browser,
+ bool shown_by_policy)
: browser_(browser),
menu_model_(this),
component_migration_helper_(ToolbarActionsModel::Get(browser->profile())
@@ -40,9 +50,18 @@ MediaRouterContextualMenu::MediaRouterContextualMenu(Browser* browser)
IDS_MEDIA_ROUTER_LEARN_MORE);
menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_HELP,
IDS_MEDIA_ROUTER_HELP);
- menu_model_.AddCheckItemWithStringId(
- IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION,
- IDS_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION);
+ if (shown_by_policy) {
+ menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_SHOWN_BY_POLICY,
+ IDS_MEDIA_ROUTER_SHOWN_BY_POLICY);
+ menu_model_.SetIcon(
+ menu_model_.GetIndexOfCommandId(IDC_MEDIA_ROUTER_SHOWN_BY_POLICY),
+ gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, 16,
+ gfx::kChromeIconGrey)));
+ } else {
+ 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,
@@ -71,14 +90,13 @@ bool MediaRouterContextualMenu::IsCommandIdChecked(int command_id) const {
return browser_->profile()->GetPrefs()->GetBoolean(
prefs::kMediaRouterEnableCloudServices);
}
- if (command_id == IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION) {
+ if (command_id == IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION)
return GetAlwaysShowActionPref();
- }
return false;
}
bool MediaRouterContextualMenu::IsCommandIdEnabled(int command_id) const {
- return true;
+ return command_id != IDC_MEDIA_ROUTER_SHOWN_BY_POLICY;
}
bool MediaRouterContextualMenu::IsCommandIdVisible(int command_id) const {

Powered by Google App Engine
This is Rietveld 408576698