OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/prefs/public/pref_change_registrar.h" | 12 #include "base/prefs/public/pref_change_registrar.h" |
| 13 #include "base/prefs/public/pref_observer.h" |
13 #include "base/values.h" | 14 #include "base/values.h" |
14 #include "chrome/browser/plugins/plugin_status_pref_setter.h" | 15 #include "chrome/browser/plugins/plugin_status_pref_setter.h" |
15 #include "chrome/browser/prefs/pref_service.h" | 16 #include "chrome/browser/prefs/pref_service.h" |
16 #include "chrome/browser/ui/webui/options/options_ui.h" | 17 #include "chrome/browser/ui/webui/options/options_ui.h" |
17 | 18 |
18 namespace options { | 19 namespace options { |
19 | 20 |
20 // Core options UI handler. | 21 // Core options UI handler. |
21 // Handles resource and JS calls common to all options sub-pages. | 22 // Handles resource and JS calls common to all options sub-pages. |
22 class CoreOptionsHandler : public OptionsPageUIHandler { | 23 class CoreOptionsHandler : public OptionsPageUIHandler, |
| 24 public PrefObserver { |
23 public: | 25 public: |
24 CoreOptionsHandler(); | 26 CoreOptionsHandler(); |
25 virtual ~CoreOptionsHandler(); | 27 virtual ~CoreOptionsHandler(); |
26 | 28 |
27 // OptionsPageUIHandler implementation. | 29 // OptionsPageUIHandler implementation. |
28 virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE; | 30 virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE; |
29 virtual void InitializeHandler() OVERRIDE; | 31 virtual void InitializeHandler() OVERRIDE; |
30 virtual void InitializePage() OVERRIDE; | 32 virtual void InitializePage() OVERRIDE; |
31 virtual void Uninitialize() OVERRIDE; | 33 virtual void Uninitialize() OVERRIDE; |
32 | 34 |
33 // content::NotificationObserver implementation. | 35 // PrefObserver implementation. |
34 virtual void Observe(int type, | 36 virtual void OnPreferenceChanged(PrefServiceBase* service, |
35 const content::NotificationSource& source, | 37 const std::string& pref_name) OVERRIDE; |
36 const content::NotificationDetails& details) OVERRIDE; | |
37 | 38 |
38 // WebUIMessageHandler implementation. | 39 // WebUIMessageHandler implementation. |
39 virtual void RegisterMessages() OVERRIDE; | 40 virtual void RegisterMessages() OVERRIDE; |
40 | 41 |
41 void set_handlers_host(OptionsPageUIHandlerHost* handlers_host) { | 42 void set_handlers_host(OptionsPageUIHandlerHost* handlers_host) { |
42 handlers_host_ = handlers_host; | 43 handlers_host_ = handlers_host; |
43 } | 44 } |
44 | 45 |
45 // Adds localized strings to |localized_strings|. | 46 // Adds localized strings to |localized_strings|. |
46 static void GetStaticLocalizedValues( | 47 static void GetStaticLocalizedValues( |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 typedef std::map<std::string, base::Callback<bool(const base::Value*)> > | 166 typedef std::map<std::string, base::Callback<bool(const base::Value*)> > |
166 PrefChangeFilterMap; | 167 PrefChangeFilterMap; |
167 PrefChangeFilterMap pref_change_filters_; | 168 PrefChangeFilterMap pref_change_filters_; |
168 | 169 |
169 DISALLOW_COPY_AND_ASSIGN(CoreOptionsHandler); | 170 DISALLOW_COPY_AND_ASSIGN(CoreOptionsHandler); |
170 }; | 171 }; |
171 | 172 |
172 } // namespace options | 173 } // namespace options |
173 | 174 |
174 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ | 175 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CORE_OPTIONS_HANDLER_H_ |
OLD | NEW |