| 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 a3323c7ef3274677cdfa8ae29f98982d223b3ec0..ad0d91ce181f42df411addf471fd0ca4bccab050 100644
|
| --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
| +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
| @@ -129,12 +129,16 @@ ALL_FONT_SCRIPTS(WEBKIT_WEBPREFS_FONTS_STANDARD)
|
| void RegisterFontFamilyMapObserver(
|
| PrefChangeRegistrar* registrar,
|
| const char* map_name,
|
| - const PrefChangeRegistrar::NamedChangeCallback& obs) {
|
| + const PrefChangeRegistrar::NamedChangeCallback& obs,
|
| + std::string* pref_name) {
|
| DCHECK(StartsWithASCII(map_name, "webkit.webprefs.", true));
|
| + DCHECK(pref_name);
|
| 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);
|
| - registrar->Add(pref_name.c_str(), obs);
|
| + pref_name->assign(map_name);
|
| + pref_name->append(1, '.');
|
| + pref_name->append(script);
|
| + registrar->Add(*pref_name, obs);
|
| }
|
| }
|
|
|
| @@ -349,27 +353,37 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
|
| pref_change_registrar_.Add(pref_name, webkit_callback);
|
| }
|
|
|
| + std::string pref_name;
|
| + pref_name.reserve(500);
|
| +
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitStandardFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitFixedFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitSerifFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitSansSerifFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitCursiveFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitFantasyFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitPictographFontFamilyMap,
|
| - webkit_callback);
|
| + webkit_callback,
|
| + &pref_name);
|
| }
|
|
|
| content::RendererPreferences* render_prefs =
|
| @@ -614,7 +628,7 @@ void PrefsTabHelper::OnFontFamilyPrefChanged(const std::string& pref_name) {
|
| &generic_family,
|
| &script)) {
|
| PrefService* prefs = GetProfile()->GetPrefs();
|
| - std::string pref_value = prefs->GetString(pref_name.c_str());
|
| + std::string pref_value = prefs->GetString(pref_name);
|
| if (pref_value.empty()) {
|
| WebPreferences web_prefs =
|
| web_contents_->GetRenderViewHost()->GetWebkitPreferences();
|
|
|