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..ecfc443f785b8a879ef2add1602485db06b3e1a1 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" |
@@ -92,9 +93,14 @@ void ComponentMigrationHelper::OnFeatureEnabled( |
component_action_pref = true; |
} |
- if (component_action_pref && |
- !delegate_->HasComponentAction(component_action_id)) { |
- delegate_->AddComponentAction(component_action_id); |
+ if (component_action_pref) { |
mark a. foltz
2016/09/09 17:48:28
Just so I understand - this code is here to ensure
|
+ if (component_action_id == |
+ ComponentToolbarActionsFactory::kMediaRouterActionId) { |
+ pref_service_->SetBoolean(prefs::kMediaRouterAlwaysShowActionIcon, |
mark a. foltz
2016/09/09 17:48:28
Can this only be set if the current value is not a
|
+ true); |
+ } |
+ if (!delegate_->HasComponentAction(component_action_id)) |
+ 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 == |
mark a. foltz
2016/09/09 17:48:28
If the feature is disabled, we should not be creat
|
+ 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 == |
mark a. foltz
2016/09/09 17:48:28
Please check-and-set the pref.
|
+ ComponentToolbarActionsFactory::kMediaRouterActionId) { |
+ pref_service_->SetBoolean(prefs::kMediaRouterAlwaysShowActionIcon, |
+ true); |
+ } |
+ |
if (!delegate_->HasComponentAction(component_action_id)) |
delegate_->AddComponentAction(component_action_id); |
} |