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

Unified Diff: chrome/browser/extensions/install_tracker.cc

Issue 17038002: Separate the NTP app ordering from the app list app ordering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 7 years, 2 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/extensions/install_tracker.cc
diff --git a/chrome/browser/extensions/install_tracker.cc b/chrome/browser/extensions/install_tracker.cc
index c916d4cdb83f72984f29c5f4c4fb674327272dc2..59e577d97efac1208d2ba2c7c0f77faf5642ea71 100644
--- a/chrome/browser/extensions/install_tracker.cc
+++ b/chrome/browser/extensions/install_tracker.cc
@@ -13,8 +13,9 @@
namespace extensions {
InstallTracker::InstallTracker(Profile* profile,
- extensions::ExtensionPrefs* prefs) {
- ExtensionSorting* sorting = prefs->extension_sorting();
+ extensions::ExtensionPrefs* prefs)
+ : app_list_extension_sorting_(prefs->app_list_extension_sorting()) {
+ app_list_extension_sorting_->AddObserver(this);
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_INSTALLED,
content::Source<Profile>(profile));
@@ -24,18 +25,17 @@ InstallTracker::InstallTracker(Profile* profile,
content::Source<Profile>(profile));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED,
content::Source<Profile>(profile));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
- content::Source<ExtensionSorting>(sorting));
registrar_.Add(this, chrome::NOTIFICATION_APP_INSTALLED_TO_APPLIST,
content::Source<Profile>(profile));
pref_change_registrar_.Init(prefs->pref_service());
pref_change_registrar_.Add(prefs::kExtensionsPref,
- base::Bind(&InstallTracker::OnAppsReordered,
+ base::Bind(&InstallTracker::OnAppListReordered,
base::Unretained(this)));
}
InstallTracker::~InstallTracker() {
+ app_list_extension_sorting_->RemoveObserver(this);
}
void InstallTracker::AddObserver(InstallObserver* observer) {
@@ -111,10 +111,6 @@ void InstallTracker::Observe(int type,
OnExtensionUninstalled(extension));
break;
}
- case chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED: {
- FOR_EACH_OBSERVER(InstallObserver, observers_, OnAppsReordered());
- break;
- }
case chrome::NOTIFICATION_APP_INSTALLED_TO_APPLIST: {
const std::string& extension_id(
*content::Details<const std::string>(details).ptr());
@@ -127,8 +123,12 @@ void InstallTracker::Observe(int type,
}
}
-void InstallTracker::OnAppsReordered() {
- FOR_EACH_OBSERVER(InstallObserver, observers_, OnAppsReordered());
+void InstallTracker::OnAppListReordered() {
+ FOR_EACH_OBSERVER(InstallObserver, observers_, OnAppListReordered());
+}
+
+void InstallTracker::ExtensionPrefsChanged() {
+ FOR_EACH_OBSERVER(InstallObserver, observers_, OnAppListReordered());
}
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698