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

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

Issue 2559323002: Add a policy to always show the Cast toolbar icon (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/toolbar/media_router_action_controller.cc
diff --git a/chrome/browser/ui/toolbar/media_router_action_controller.cc b/chrome/browser/ui/toolbar/media_router_action_controller.cc
index bc46d00cb20b96a8cddf54d9589457ef7f914065..fb7a4af4f4db288693b67e6f94368d1f5ffabab7 100644
--- a/chrome/browser/ui/toolbar/media_router_action_controller.cc
+++ b/chrome/browser/ui/toolbar/media_router_action_controller.cc
@@ -25,6 +25,18 @@ MediaRouterActionController::~MediaRouterActionController() {
UnregisterObserver(); // media_router::IssuesObserver.
}
+// static
+bool MediaRouterActionController::IsActionShownByPolicy(
+ content::BrowserContext* context) {
+ const PrefService::Preference* pref =
+ user_prefs::UserPrefs::Get(context)->FindPreference(
+ prefs::kShowCastIconInToolbar);
+ bool show = false;
+ if (pref->IsManaged())
+ pref->GetValue()->GetAsBoolean(&show);
+ return show;
+}
+
void MediaRouterActionController::OnIssueUpdated(
const media_router::Issue* issue) {
has_issue_ = issue != nullptr;
@@ -65,7 +77,9 @@ MediaRouterActionController::MediaRouterActionController(
media_router::MediaRoutesObserver(router),
profile_(profile),
component_action_delegate_(component_action_delegate),
- component_migration_helper_(component_migration_helper) {
+ component_migration_helper_(component_migration_helper),
+ shown_by_policy_(
+ MediaRouterActionController::IsActionShownByPolicy(profile)) {
DCHECK(profile_);
RegisterObserver(); // media_router::IssuesObserver.
pref_change_registrar_.Init(profile->GetPrefs());
@@ -90,7 +104,8 @@ void MediaRouterActionController::MaybeAddOrRemoveAction() {
}
bool MediaRouterActionController::ShouldEnableAction() const {
- return has_local_display_route_ || has_issue_ || dialog_count_ ||
+ return shown_by_policy_ || has_local_display_route_ || has_issue_ ||
+ dialog_count_ ||
component_migration_helper_->GetComponentActionPref(
ComponentToolbarActionsFactory::kMediaRouterActionId);
}

Powered by Google App Engine
This is Rietveld 408576698