Chromium Code Reviews| 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 9db79c88093b92967994662d81c8e44971ebdc34..6522b18634640d7307ae70b7a2e82a4bf40fc622 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_action_controller.cc |
| +++ b/chrome/browser/ui/toolbar/media_router_action_controller.cc |
| @@ -24,6 +24,16 @@ MediaRouterActionController::~MediaRouterActionController() { |
| DCHECK_EQ(dialog_count_, 0u); |
| } |
| +// static |
| +bool MediaRouterActionController::IsActionShownByPolicy(Profile* profile) { |
| + const PrefService::Preference* pref = |
| + profile->GetPrefs()->FindPreference(prefs::kShowCastIconInToolbar); |
| + bool show = false; |
| + if (pref->IsManaged()) |
| + pref->GetValue()->GetAsBoolean(&show); |
| + return show; |
| +} |
| + |
| void MediaRouterActionController::OnIssue(const media_router::Issue& issue) { |
| has_issue_ = true; |
| MaybeAddOrRemoveAction(); |
| @@ -68,7 +78,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_); |
|
imcheng
2016/12/20 19:34:35
This DCHECK won't work if profile is nullptr since
takumif
2016/12/28 19:55:03
Done.
|
| media_router::IssuesObserver::Init(); |
| pref_change_registrar_.Init(profile->GetPrefs()); |
| @@ -93,7 +105,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); |
| } |