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); |
} |