| Index: chrome/browser/extensions/component_migration_helper.cc
|
| diff --git a/chrome/browser/extensions/component_migration_helper.cc b/chrome/browser/extensions/component_migration_helper.cc
|
| index 7de2caa9773e3e49033483107317284b888d23b4..93b36a842c88819af5be0941e385fbca95612e8c 100644
|
| --- a/chrome/browser/extensions/component_migration_helper.cc
|
| +++ b/chrome/browser/extensions/component_migration_helper.cc
|
| @@ -9,6 +9,7 @@
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system_impl.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "components/prefs/pref_registry_simple.h"
|
| #include "components/prefs/pref_service.h"
|
| @@ -94,6 +95,11 @@ void ComponentMigrationHelper::OnFeatureEnabled(
|
|
|
| if (component_action_pref &&
|
| !delegate_->HasComponentAction(component_action_id)) {
|
| + if (component_action_id ==
|
| + ComponentToolbarActionsFactory::kMediaRouterActionId) {
|
| + pref_service_->SetBoolean(prefs::kMediaRouterAlwaysShowActionIcon,
|
| + true);
|
| + }
|
| delegate_->AddComponentAction(component_action_id);
|
| }
|
| }
|
| @@ -107,6 +113,12 @@ void ComponentMigrationHelper::OnFeatureDisabled(
|
| enabled_actions_.erase(component_action_id);
|
| RemoveComponentActionPref(component_action_id);
|
|
|
| + if (component_action_id ==
|
| + ComponentToolbarActionsFactory::kMediaRouterActionId) {
|
| + pref_service_->SetBoolean(prefs::kMediaRouterAlwaysShowActionIcon,
|
| + false);
|
| + }
|
| +
|
| if (FeatureSwitch::extension_action_redesign()->IsEnabled() &&
|
| delegate_->HasComponentAction(component_action_id))
|
| delegate_->RemoveComponentAction(component_action_id);
|
| @@ -134,6 +146,14 @@ void ComponentMigrationHelper::OnExtensionReady(
|
| UnloadExtension(extension_id);
|
| SetComponentActionPref(component_action_id, true);
|
|
|
| + // We treat installation of the cast extension as a signal to permanently
|
| + // show the icon in the toolbar.
|
| + if (component_action_id ==
|
| + ComponentToolbarActionsFactory::kMediaRouterActionId) {
|
| + pref_service_->SetBoolean(prefs::kMediaRouterAlwaysShowActionIcon,
|
| + true);
|
| + }
|
| +
|
| if (!delegate_->HasComponentAction(component_action_id))
|
| delegate_->AddComponentAction(component_action_id);
|
| }
|
|
|