| 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 0079bf9171b3817074b91aa566c0d259aaa4055e..bc9b08af1b39b9ab5acdbb53e1eedb79912db184 100644
|
| --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
| +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
| @@ -49,23 +49,31 @@ namespace {
|
| // The list of prefs we want to observe.
|
| const char* kPrefsToObserve[] = {
|
| prefs::kDefaultCharset,
|
| + prefs::kDisable3DAPIs,
|
| + prefs::kEnableHyperlinkAuditing,
|
| prefs::kWebKitAllowDisplayingInsecureContent,
|
| prefs::kWebKitAllowRunningInsecureContent,
|
| prefs::kWebKitDefaultFixedFontSize,
|
| prefs::kWebKitDefaultFontSize,
|
| + prefs::kWebKitDomPasteEnabled,
|
| #if defined(OS_ANDROID)
|
| prefs::kWebKitFontScaleFactor,
|
| prefs::kWebKitForceEnableZoom,
|
| prefs::kWebKitPasswordEchoEnabled,
|
| #endif
|
| + prefs::kWebKitInspectorSettings,
|
| + prefs::kWebKitJavascriptCanOpenWindowsAutomatically,
|
| prefs::kWebKitJavascriptEnabled,
|
| prefs::kWebKitJavaEnabled,
|
| prefs::kWebKitLoadsImagesAutomatically,
|
| prefs::kWebKitMinimumFontSize,
|
| prefs::kWebKitMinimumLogicalFontSize,
|
| prefs::kWebKitPluginsEnabled,
|
| + prefs::kWebKitShrinksStandaloneImagesToFit,
|
| prefs::kWebkitTabsToLinks,
|
| - prefs::kWebKitUsesUniversalDetector
|
| + prefs::kWebKitTextAreasAreResizable,
|
| + prefs::kWebKitUsesUniversalDetector,
|
| + prefs::kWebKitWebSecurityEnabled,
|
| };
|
|
|
| const int kPrefsToObserveLength = arraysize(kPrefsToObserve);
|
| @@ -112,6 +120,7 @@ ALL_FONT_SCRIPTS(WEBKIT_WEBPREFS_FONTS_STANDARD)
|
| }
|
| }
|
| }
|
| +#endif // !defined(OS_ANDROID)
|
|
|
| // Registers |obs| to observe per-script font prefs under the path |map_name|.
|
| // On android, there's no exposed way to change these prefs, so we can save
|
| @@ -128,7 +137,6 @@ void RegisterFontFamilyMapObserver(
|
| registrar->Add(pref_name.c_str(), obs);
|
| }
|
| }
|
| -#endif // !defined(OS_ANDROID)
|
|
|
| #if defined(OS_WIN)
|
| // On Windows with antialising we want to use an alternate fixed font like
|
| @@ -326,12 +334,9 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
|
| &PrefsTabHelper::OnWebPrefChanged, base::Unretained(this));
|
| for (int i = 0; i < kPrefsToObserveLength; ++i) {
|
| const char* pref_name = kPrefsToObserve[i];
|
| - DCHECK(std::string(pref_name) == prefs::kDefaultCharset ||
|
| - StartsWithASCII(pref_name, "webkit.webprefs.", true));
|
| pref_change_registrar_.Add(pref_name, webkit_callback);
|
| }
|
|
|
| -#if !defined(OS_ANDROID)
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitStandardFontFamilyMap,
|
| webkit_callback);
|
| @@ -353,7 +358,6 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
|
| RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| prefs::kWebKitPictographFontFamilyMap,
|
| webkit_callback);
|
| -#endif // !defined(OS_ANDROID)
|
| }
|
|
|
| renderer_preferences_util::UpdateFromSystemSettings(
|
| @@ -576,7 +580,7 @@ Profile* PrefsTabHelper::GetProfile() {
|
| return Profile::FromBrowserContext(web_contents_->GetBrowserContext());
|
| }
|
|
|
| -void PrefsTabHelper::OnWebPrefChanged(const std::string& pref_name) {
|
| +void PrefsTabHelper::OnFontFamilyPrefChanged(const std::string& pref_name) {
|
| // When a font family pref's value goes from non-empty to the empty string, we
|
| // must add it to the usual WebPreferences struct passed to the renderer.
|
| //
|
| @@ -604,6 +608,12 @@ void PrefsTabHelper::OnWebPrefChanged(const std::string& pref_name) {
|
| return;
|
| }
|
| }
|
| +}
|
| +
|
| +void PrefsTabHelper::OnWebPrefChanged(const std::string& pref_name) {
|
| +#if !defined(OS_ANDROID)
|
| + OnFontFamilyPrefChanged(pref_name);
|
| +#endif
|
|
|
| - UpdateWebPreferences();
|
| + web_contents_->GetRenderViewHost()->OnWebkitPreferencesChanged();
|
| }
|
|
|