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

Unified Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc

Issue 11280115: Remove PrefObserver usages, batch 12. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix removal of PrefServiceObserver usage. Created 8 years 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/ash/launcher/chrome_launcher_controller_per_browser.cc
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
index b72cb255b7a911f671a26c6c3f4326ee9f0e1461..9fcfc557994f8fe158bedd1499b959b11c868936 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser.cc
@@ -174,7 +174,11 @@ ChromeLauncherControllerPerBrowser::ChromeLauncherControllerPerBrowser(
chrome::NOTIFICATION_EXTENSION_UNLOADED,
content::Source<Profile>(profile_));
pref_change_registrar_.Init(profile_->GetPrefs());
- pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
+ pref_change_registrar_.Add(
+ prefs::kPinnedLauncherApps,
+ base::Bind(&ChromeLauncherControllerPerBrowser::
+ UpdateAppLaunchersFromPref,
+ base::Unretained(this)));
}
ChromeLauncherControllerPerBrowser::~ChromeLauncherControllerPerBrowser() {
@@ -231,6 +235,8 @@ void ChromeLauncherControllerPerBrowser::Init() {
PrefService* prefs = profile_->GetPrefs();
if (prefs->GetString(prefs::kShelfAlignmentLocal).empty() ||
prefs->GetString(prefs::kShelfAutoHideBehaviorLocal).empty()) {
+ // This causes OnIsSyncingChanged to be called when the value of
+ // PrefService::IsSyncing() changes.
prefs->AddObserver(this);
}
ash::Shell::GetInstance()->AddShellObserver(this);
@@ -788,20 +794,6 @@ void ChromeLauncherControllerPerBrowser::Observe(
}
}
-void ChromeLauncherControllerPerBrowser::OnPreferenceChanged(
- PrefServiceBase* service,
- const std::string& pref_name) {
- if (pref_name == prefs::kPinnedLauncherApps) {
- UpdateAppLaunchersFromPref();
- } else if (pref_name == prefs::kShelfAlignmentLocal) {
- SetShelfAlignmentFromPrefs();
- } else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) {
- SetShelfAutoHideBehaviorFromPrefs();
- } else {
- NOTREACHED() << "Unexpected pref change for " << pref_name;
- }
-}
-
void ChromeLauncherControllerPerBrowser::OnShelfAlignmentChanged() {
const char* pref_value = NULL;
// TODO(oshima): Support multiple displays.
@@ -870,7 +862,11 @@ void ChromeLauncherControllerPerBrowser::PersistPinnedState() {
}
}
}
- pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
+ pref_change_registrar_.Add(
+ prefs::kPinnedLauncherApps,
+ base::Bind(&ChromeLauncherControllerPerBrowser::
+ UpdateAppLaunchersFromPref,
+ base::Unretained(this)));
}
ash::LauncherModel* ChromeLauncherControllerPerBrowser::model() {

Powered by Google App Engine
This is Rietveld 408576698