Index: chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
diff --git a/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc b/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
index 5669fc7546aa2754b78ed3c9a8b0b7e88108c975..a77fe36c29229f0954ca3965a5fab0f0654e39f4 100644 |
--- a/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
+++ b/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
@@ -4,9 +4,10 @@ |
#include "chrome/browser/ui/gesture_prefs_observer_factory_aura.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/compiler_specific.h" |
#include "base/prefs/public/pref_change_registrar.h" |
-#include "base/prefs/public/pref_observer.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_dependency_manager.h" |
@@ -26,8 +27,7 @@ struct OverscrollPref { |
}; |
// This class manages gesture configuration preferences. |
-class GesturePrefsObserver : public PrefObserver, |
- public ProfileKeyedService { |
+class GesturePrefsObserver : public ProfileKeyedService { |
public: |
explicit GesturePrefsObserver(PrefService* prefs); |
virtual ~GesturePrefsObserver(); |
@@ -55,10 +55,6 @@ class GesturePrefsObserver : public PrefObserver, |
// ProfileKeyedService implementation. |
virtual void Shutdown() OVERRIDE; |
- // PrefObserver implementation. |
- virtual void OnPreferenceChanged(PrefServiceBase* service, |
- const std::string& pref_name) OVERRIDE; |
- |
private: |
void Update(); |
@@ -110,10 +106,12 @@ GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs) |
: prefs_(prefs) { |
registrar_.Init(prefs); |
registrar_.RemoveAll(); |
+ base::Closure callback = base::Bind(&GesturePrefsObserver::Update, |
+ base::Unretained(this)); |
for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i) |
- registrar_.Add(kPrefsToObserve[i], this); |
+ registrar_.Add(kPrefsToObserve[i], callback); |
for (size_t i = 0; i < arraysize(kOverscrollPrefs); ++i) |
- registrar_.Add(kOverscrollPrefs[i], this); |
+ registrar_.Add(kOverscrollPrefs[i], callback); |
} |
GesturePrefsObserver::~GesturePrefsObserver() {} |
@@ -122,11 +120,6 @@ void GesturePrefsObserver::Shutdown() { |
registrar_.RemoveAll(); |
} |
-void GesturePrefsObserver::OnPreferenceChanged(PrefServiceBase* service, |
- const std::string& pref_name) { |
- Update(); |
-} |
- |
void GesturePrefsObserver::Update() { |
GestureConfiguration::set_fling_acceleration_curve_coefficients(0, |
prefs_->GetDouble(prefs::kFlingAccelerationCurveCoefficient0)); |