Index: chrome/browser/ui/webui/options/core_options_handler.h |
diff --git a/chrome/browser/ui/webui/options/core_options_handler.h b/chrome/browser/ui/webui/options/core_options_handler.h |
index 8cf06f5347f60f1a03367cf936730d060ce78587..717e2f9a3d9432ede4cb466a266e53b9e3968d5e 100644 |
--- a/chrome/browser/ui/webui/options/core_options_handler.h |
+++ b/chrome/browser/ui/webui/options/core_options_handler.h |
@@ -10,7 +10,6 @@ |
#include "base/callback.h" |
#include "base/prefs/public/pref_change_registrar.h" |
-#include "base/prefs/public/pref_observer.h" |
#include "base/values.h" |
#include "chrome/browser/plugins/plugin_status_pref_setter.h" |
#include "chrome/browser/prefs/pref_service.h" |
@@ -20,8 +19,7 @@ namespace options { |
// Core options UI handler. |
// Handles resource and JS calls common to all options sub-pages. |
-class CoreOptionsHandler : public OptionsPageUIHandler, |
- public PrefObserver { |
+class CoreOptionsHandler : public OptionsPageUIHandler { |
public: |
CoreOptionsHandler(); |
virtual ~CoreOptionsHandler(); |
@@ -32,10 +30,6 @@ class CoreOptionsHandler : public OptionsPageUIHandler, |
virtual void InitializePage() OVERRIDE; |
virtual void Uninitialize() OVERRIDE; |
- // PrefObserver implementation. |
- virtual void OnPreferenceChanged(PrefServiceBase* service, |
- const std::string& pref_name) OVERRIDE; |
- |
// WebUIMessageHandler implementation. |
virtual void RegisterMessages() OVERRIDE; |
@@ -148,6 +142,13 @@ class CoreOptionsHandler : public OptionsPageUIHandler, |
// is an array that contains a single item, the name of the metric identifier. |
void HandleUserMetricsAction(const ListValue* args); |
+ // We need to use virtual dispatch as handling of some prefs may be |
+ // finessed in subclasses. We need to include the PrefServiceBase |
+ // pointer so that subclasses can know whether we are observing the |
+ // pref from the local state or not. |
+ virtual void OnPreferenceChanged(PrefServiceBase* service, |
+ const std::string& pref_name); |
+ |
void UpdateClearPluginLSOData(); |
void UpdatePepperFlashSettingsEnabled(); |