Chromium Code Reviews| Index: chrome/browser/ui/prefs/prefs_tab_helper.cc |
| diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc |
| index be339111b623669143356a90281109fac67bd5d3..f62a777d58ffa2c1434533c7a45bb44b1dcc3bad 100644 |
| --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc |
| +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc |
| @@ -140,9 +140,10 @@ void RegisterFontFamilyMap(PrefService* prefs, |
| } |
| // Registers |obs| to observe per-script font prefs under the path |map_name|. |
| -void RegisterFontFamilyMapObserver(PrefChangeRegistrar* registrar, |
| - const char* map_name, |
| - PrefObserver* obs) { |
| +void RegisterFontFamilyMapObserver( |
| + PrefChangeRegistrar* registrar, |
| + const char* map_name, |
| + const PrefChangeRegistrar::NamedChangeCallback& obs) { |
| for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) { |
| const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i]; |
| std::string pref_name = base::StringPrintf("%s.%s", map_name, script); |
| @@ -385,23 +386,32 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents) |
| PrefService* prefs = GetProfile()->GetPrefs(); |
| pref_change_registrar_.Init(prefs); |
| if (prefs) { |
| + PrefChangeRegistrar::NamedChangeCallback callback = base::Bind( |
| + &PrefsTabHelper::OnPreferenceChanged, base::Unretained(this)); |
| for (int i = 0; i < kPrefsToObserveLength; ++i) |
| - pref_change_registrar_.Add(kPrefsToObserve[i], this); |
| + pref_change_registrar_.Add(kPrefsToObserve[i], callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitStandardFontFamilyMap, this); |
| + prefs::kWebKitStandardFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitFixedFontFamilyMap, this); |
| + prefs::kWebKitFixedFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitSerifFontFamilyMap, this); |
| + prefs::kWebKitSerifFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitSansSerifFontFamilyMap, this); |
| + prefs::kWebKitSansSerifFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitCursiveFontFamilyMap, this); |
| + prefs::kWebKitCursiveFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitFantasyFontFamilyMap, this); |
| + prefs::kWebKitFantasyFontFamilyMap, |
| + callback); |
| RegisterFontFamilyMapObserver(&pref_change_registrar_, |
| - prefs::kWebKitPictographFontFamilyMap, this); |
| + prefs::kWebKitPictographFontFamilyMap, |
| + callback); |
| } |
| renderer_preferences_util::UpdateFromSystemSettings( |
| @@ -585,9 +595,7 @@ void PrefsTabHelper::Observe(int type, |
| } |
| } |
| -void PrefsTabHelper::OnPreferenceChanged(PrefServiceBase* service, |
| - const std::string& pref_name_in) { |
| - DCHECK_EQ(GetProfile()->GetPrefs(), service); |
| +void PrefsTabHelper::OnPreferenceChanged(const std::string& pref_name_in) { |
|
Mattias Nissler (ping if slow)
2012/11/15 10:01:31
should probably split into separate functions with
Jói
2012/11/15 13:45:43
Done.
|
| if (pref_name_in == prefs::kDefaultCharset || |
| StartsWithASCII(pref_name_in, "webkit.webprefs.", true)) { |
| OnWebPrefChanged(pref_name_in); |