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

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

Issue 2613713005: Make ToolbarActionsModel own ComponentToolbarActionsFactory (Closed)
Patch Set: Fix buildbot failure Created 3 years, 10 months 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/component_toolbar_actions_factory.cc
diff --git a/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc b/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc
index 55bfb3f32f184d8b1d8d86a8b92b7deffaee6467..9b20a7a7fd5fc04aa33a2ddc7688fea06ea99d58 100644
--- a/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc
+++ b/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/common/feature_switch.h"
@@ -19,15 +20,6 @@
#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
#endif
-namespace {
-
-ComponentToolbarActionsFactory* testing_factory_ = nullptr;
-
-base::LazyInstance<ComponentToolbarActionsFactory> lazy_factory =
- LAZY_INSTANCE_INITIALIZER;
-
-} // namespace
-
// static
const char ComponentToolbarActionsFactory::kCastBetaExtensionId[] =
"dliochdbjfkdbacpmhlcpmleaejidimm";
@@ -36,30 +28,35 @@ const char ComponentToolbarActionsFactory::kCastExtensionId[] =
const char ComponentToolbarActionsFactory::kMediaRouterActionId[] =
"media_router_action";
-ComponentToolbarActionsFactory::ComponentToolbarActionsFactory() {}
+ComponentToolbarActionsFactory::ComponentToolbarActionsFactory(Profile* profile)
+ : profile_(profile) {
+#if defined(ENABLE_MEDIA_ROUTER)
+ if (media_router::MediaRouterEnabled(profile_) &&
+ MediaRouterActionController::IsActionShownByPolicy(profile_)) {
+ initial_ids_.insert(kMediaRouterActionId);
+ }
+#endif
+}
+
ComponentToolbarActionsFactory::~ComponentToolbarActionsFactory() {}
-// static
-ComponentToolbarActionsFactory* ComponentToolbarActionsFactory::GetInstance() {
- return testing_factory_ ? testing_factory_ : &lazy_factory.Get();
+std::set<std::string> ComponentToolbarActionsFactory::GetInitialComponentIds() {
+ return initial_ids_;
}
-std::set<std::string> ComponentToolbarActionsFactory::GetInitialComponentIds(
- Profile* profile) {
- std::set<std::string> component_ids;
-#if defined(ENABLE_MEDIA_ROUTER)
- if (media_router::MediaRouterEnabled(profile) &&
- MediaRouterActionController::IsActionShownByPolicy(profile)) {
- component_ids.insert(kMediaRouterActionId);
- }
-#endif
+void ComponentToolbarActionsFactory::OnAddComponentActionBeforeInit(
+ const std::string& action_id) {
+ initial_ids_.insert(action_id);
+}
- return component_ids;
+void ComponentToolbarActionsFactory::OnRemoveComponentActionBeforeInit(
+ const std::string& action_id) {
+ initial_ids_.erase(action_id);
}
std::unique_ptr<ToolbarActionViewController>
ComponentToolbarActionsFactory::GetComponentToolbarActionForId(
- const std::string& id,
+ const std::string& action_id,
Browser* browser,
ToolbarActionsBar* bar) {
// This is currently behind the extension-action-redesign flag, as it is
@@ -73,7 +70,7 @@ ComponentToolbarActionsFactory::GetComponentToolbarActionForId(
// should be okay. If this changes, we should rethink this design to have,
// e.g., RegisterChromeAction().
#if defined(ENABLE_MEDIA_ROUTER)
- if (id == kMediaRouterActionId)
+ if (action_id == kMediaRouterActionId)
return std::unique_ptr<ToolbarActionViewController>(
new MediaRouterAction(browser, bar));
#endif // defined(ENABLE_MEDIA_ROUTER)
@@ -91,12 +88,6 @@ void ComponentToolbarActionsFactory::UnloadMigratedExtensions(
UnloadExtension(service, registry, kCastBetaExtensionId);
}
-// static
-void ComponentToolbarActionsFactory::SetTestingFactory(
- ComponentToolbarActionsFactory* factory) {
- testing_factory_ = factory;
-}
-
void ComponentToolbarActionsFactory::UnloadExtension(
ExtensionService* service,
extensions::ExtensionRegistry* registry,

Powered by Google App Engine
This is Rietveld 408576698