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

Unified Diff: chrome/browser/chromeos/system/ash_system_tray_delegate.cc

Issue 11293249: Remove PrefObserver usage, batch 3. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make a couple of accessors public. Created 8 years, 1 month 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/chromeos/system/ash_system_tray_delegate.cc
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
index 9ac78405ad2f5b8083346b689229034c196988d9..9816028cd42576ba66fc532580dff6126c3fdf2f 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -27,7 +27,6 @@
#include "base/chromeos/chromeos_version.h"
#include "base/logging.h"
#include "base/memory/weak_ptr.h"
-#include "base/prefs/public/pref_observer.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
@@ -153,7 +152,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
public NetworkLibrary::NetworkManagerObserver,
public NetworkLibrary::NetworkObserver,
public NetworkLibrary::CellularDataPlanObserver,
- public PrefObserver,
public google_apis::DriveServiceObserver,
public content::NotificationObserver,
public input_method::InputMethodManager::Observer,
@@ -218,8 +216,11 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
if (SystemKeyEventListener::GetInstance())
SystemKeyEventListener::GetInstance()->AddCapsLockObserver(this);
- accessibility_enabled_.Init(prefs::kSpokenFeedbackEnabled,
- g_browser_process->local_state(), this);
+ accessibility_enabled_.Init(
+ prefs::kSpokenFeedbackEnabled,
+ g_browser_process->local_state(),
+ base::Bind(&SystemTrayDelegate::OnSpokenFeedbackEnabledChanged,
+ base::Unretained(this)));
network_icon_->SetResourceColorTheme(NetworkMenuIcon::COLOR_LIGHT);
network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK);
@@ -752,11 +753,20 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
PrefService* prefs = profile->GetPrefs();
pref_registrar_.reset(new PrefChangeRegistrar);
pref_registrar_->Init(prefs);
- pref_registrar_->Add(prefs::kUse24HourClock, this);
- pref_registrar_->Add(prefs::kLanguageRemapSearchKeyTo, this);
- pref_registrar_->Add(prefs::kShowLogoutButtonInTray, this);
- UpdateClockType(prefs);
- UpdateShowLogoutButtonInTray(prefs);
+ pref_registrar_->Add(
+ prefs::kUse24HourClock,
+ base::Bind(&SystemTrayDelegate::UpdateClockType,
+ base::Unretained(this)));
+ pref_registrar_->Add(
+ prefs::kLanguageRemapSearchKeyTo,
+ base::Bind(&SystemTrayDelegate::OnLanguageRemapSearchKeyToChanged,
+ base::Unretained(this)));
+ pref_registrar_->Add(
+ prefs::kShowLogoutButtonInTray,
+ base::Bind(&SystemTrayDelegate::UpdateShowLogoutButtonInTray,
+ base::Unretained(this)));
+ UpdateClockType();
+ UpdateShowLogoutButtonInTray();
search_key_mapped_to_ =
profile->GetPrefs()->GetInteger(prefs::kLanguageRemapSearchKeyTo);
}
@@ -769,20 +779,20 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
system_service->drive_service()->AddObserver(this);
}
- void UpdateClockType(PrefServiceBase* service) {
- clock_type_ = service->GetBoolean(prefs::kUse24HourClock) ?
+ void UpdateClockType() {
+ clock_type_ = pref_registrar_->prefs()->GetBoolean(prefs::kUse24HourClock) ?
base::k24HourClock : base::k12HourClock;
ash::ClockObserver* observer = GetSystemTray()->clock_observer();
if (observer)
observer->OnDateFormatChanged();
}
- void UpdateShowLogoutButtonInTray(PrefServiceBase* service) {
+ void UpdateShowLogoutButtonInTray() {
ash::LogoutButtonObserver* observer =
GetSystemTray()->logout_button_observer();
if (observer) {
observer->OnShowLogoutButtonInTrayChanged(
- service->GetBoolean(prefs::kShowLogoutButtonInTray));
+ pref_registrar_->prefs()->GetBoolean(prefs::kShowLogoutButtonInTray));
}
}
@@ -1133,24 +1143,18 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
}
- virtual void OnPreferenceChanged(PrefServiceBase* service,
- const std::string& pref) OVERRIDE {
- if (pref == prefs::kUse24HourClock) {
- UpdateClockType(service);
- } else if (pref == prefs::kLanguageRemapSearchKeyTo) {
- search_key_mapped_to_ =
- service->GetInteger(prefs::kLanguageRemapSearchKeyTo);
- } else if (pref == prefs::kSpokenFeedbackEnabled) {
- ash::AccessibilityObserver* observer =
- GetSystemTray()->accessibility_observer();
- if (observer) {
- observer->OnAccessibilityModeChanged(
- service->GetBoolean(prefs::kSpokenFeedbackEnabled));
- }
- } else if (pref == prefs::kShowLogoutButtonInTray) {
- UpdateShowLogoutButtonInTray(service);
- } else {
- NOTREACHED();
+ void OnLanguageRemapSearchKeyToChanged() {
+ search_key_mapped_to_ = pref_registrar_->prefs()->GetInteger(
+ prefs::kLanguageRemapSearchKeyTo);
+ }
+
+ void OnSpokenFeedbackEnabledChanged() {
+ ash::AccessibilityObserver* observer =
+ GetSystemTray()->accessibility_observer();
+ if (observer) {
+ observer->OnAccessibilityModeChanged(
+ accessibility_enabled_.prefs()->GetBoolean(
+ prefs::kSpokenFeedbackEnabled));
}
}

Powered by Google App Engine
This is Rietveld 408576698