| Index: chrome/browser/ui/tab_contents/tab_contents_wrapper.cc
|
| diff --git a/chrome/browser/ui/tab_contents/tab_contents_wrapper.cc b/chrome/browser/ui/tab_contents/tab_contents_wrapper.cc
|
| index 2df3a278179be442739368997e7848064cd31290..3f2ffdc9071a0d14f4170d1fe5a591bc19dd82ca 100644
|
| --- a/chrome/browser/ui/tab_contents/tab_contents_wrapper.cc
|
| +++ b/chrome/browser/ui/tab_contents/tab_contents_wrapper.cc
|
| @@ -4,11 +4,8 @@
|
|
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
|
|
| -#include "base/utf_string_conversions.h"
|
| -
|
| #include "base/command_line.h"
|
| #include "base/lazy_instance.h"
|
| -#include "base/stringprintf.h"
|
| #include "chrome/browser/autocomplete_history_manager.h"
|
| #include "chrome/browser/autofill/autofill_external_delegate.h"
|
| #include "chrome/browser/autofill/autofill_manager.h"
|
| @@ -32,14 +29,12 @@
|
| #include "chrome/browser/prerender/prerender_tab_helper.h"
|
| #include "chrome/browser/printing/print_preview_message_handler.h"
|
| #include "chrome/browser/printing/print_view_manager.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/renderer_host/web_cache_manager.h"
|
| -#include "chrome/browser/renderer_preferences_util.h"
|
| #include "chrome/browser/sessions/restore_tab_helper.h"
|
| #include "chrome/browser/safe_browsing/client_side_detection_host.h"
|
| #include "chrome/browser/tab_contents/tab_contents_ssl_helper.h"
|
| #include "chrome/browser/tab_contents/thumbnail_generator.h"
|
| -#include "chrome/browser/themes/theme_service.h"
|
| -#include "chrome/browser/themes/theme_service_factory.h"
|
| #include "chrome/browser/translate/translate_tab_helper.h"
|
| #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h"
|
| #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
|
| @@ -47,23 +42,21 @@
|
| #include "chrome/browser/ui/find_bar/find_tab_helper.h"
|
| #include "chrome/browser/ui/intents/web_intent_picker_factory_impl.h"
|
| #include "chrome/browser/ui/intents/web_intent_picker_controller.h"
|
| +#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
|
| #include "chrome/browser/ui/sad_tab_observer.h"
|
| #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h"
|
| #include "chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.h"
|
| -#include "chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper.h"
|
| -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper_delegate.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chrome/common/render_messages.h"
|
| #include "content/browser/renderer_host/render_view_host.h"
|
| -#include "content/browser/tab_contents/tab_contents_view.h"
|
| +#include "content/public/browser/notification_details.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/locale_settings.h"
|
| #include "grit/platform_locale_settings.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| -#include "webkit/glue/webpreferences.h"
|
|
|
| namespace {
|
|
|
| @@ -73,176 +66,14 @@ static base::LazyInstance<base::PropertyAccessor<TabContentsWrapper*> >
|
| // The list of prefs we want to observe.
|
| const char* kPrefsToObserve[] = {
|
| prefs::kAlternateErrorPagesEnabled,
|
| - prefs::kDefaultCharset,
|
| prefs::kDefaultZoomLevel,
|
| - prefs::kEnableReferrers,
|
| #if defined (ENABLE_SAFE_BROWSING)
|
| prefs::kSafeBrowsingEnabled,
|
| #endif
|
| - prefs::kWebKitAllowDisplayingInsecureContent,
|
| - prefs::kWebKitAllowRunningInsecureContent,
|
| - prefs::kWebKitCursiveFontFamily,
|
| - prefs::kWebKitDefaultFixedFontSize,
|
| - prefs::kWebKitDefaultFontSize,
|
| - prefs::kWebKitFantasyFontFamily,
|
| - prefs::kWebKitFixedFontFamily,
|
| - prefs::kWebKitGlobalJavascriptEnabled,
|
| - prefs::kWebKitJavaEnabled,
|
| - prefs::kWebKitLoadsImagesAutomatically,
|
| - prefs::kWebKitMinimumFontSize,
|
| - prefs::kWebKitMinimumLogicalFontSize,
|
| - prefs::kWebKitPluginsEnabled,
|
| - prefs::kWebKitSansSerifFontFamily,
|
| - prefs::kWebKitSerifFontFamily,
|
| - prefs::kWebKitStandardFontFamily,
|
| - prefs::kWebkitTabsToLinks,
|
| - prefs::kWebKitUsesUniversalDetector
|
| };
|
|
|
| const int kPrefsToObserveLength = arraysize(kPrefsToObserve);
|
|
|
| -// Registers a preference under the path |map_name| for each script used for
|
| -// per-script font prefs. For example, if |map_name| is "fonts.serif", then
|
| -// "fonts.serif.Arab", "fonts.serif.Hang", etc. are registered.
|
| -void RegisterFontFamilyMap(PrefService* prefs, const char* map_name) {
|
| - for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) {
|
| - const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i];
|
| - std::string pref_name_str = base::StringPrintf("%s.%s", map_name, script);
|
| - const char* pref_name = pref_name_str.c_str();
|
| - if (!prefs->FindPreference(pref_name))
|
| - prefs->RegisterStringPref(pref_name, "", PrefService::UNSYNCABLE_PREF);
|
| - }
|
| -}
|
| -
|
| -// Registers |obs| to observe per-script font prefs under the path |map_name|.
|
| -void RegisterFontFamilyMapObserver(PrefChangeRegistrar* registrar,
|
| - const char* map_name,
|
| - content::NotificationObserver* 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);
|
| - registrar->Add(pref_name.c_str(), obs);
|
| - }
|
| -}
|
| -
|
| -struct PerScriptFontDefault {
|
| - const char* pref_name;
|
| - int resource_id;
|
| - const char* native_locale;
|
| -};
|
| -
|
| -// Per-script font pref defaults. The prefs that have defaults vary by
|
| -// platform, since not all platforms have fonts for all scripts for all generic
|
| -// families.
|
| -// TODO(falken): add proper defaults when possible for all
|
| -// platforms/scripts/generic families.
|
| -const PerScriptFontDefault kPerScriptFontDefaults[] = {
|
| -#if defined(OS_CHROMEOS)
|
| - { prefs::kWebKitStandardFontFamilyArabic, IDS_STANDARD_FONT_FAMILY_ARABIC,
|
| - "ar" },
|
| - { prefs::kWebKitSerifFontFamilyArabic, IDS_SERIF_FONT_FAMILY_ARABIC, "ar" },
|
| - { prefs::kWebKitSansSerifFontFamilyArabic,
|
| - IDS_SANS_SERIF_FONT_FAMILY_ARABIC, "ar" },
|
| - { prefs::kWebKitStandardFontFamilyJapanese,
|
| - IDS_STANDARD_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitFixedFontFamilyJapanese, IDS_FIXED_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSerifFontFamilyJapanese, IDS_SERIF_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSansSerifFontFamilyJapanese,
|
| - IDS_SANS_SERIF_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitStandardFontFamilyKorean, IDS_STANDARD_FONT_FAMILY_KOREAN,
|
| - "ko" },
|
| - { prefs::kWebKitFixedFontFamilyKorean, IDS_FIXED_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitSerifFontFamilyKorean, IDS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitSansSerifFontFamilyKorean,
|
| - IDS_SANS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitStandardFontFamilySimplifiedHan,
|
| - IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitFixedFontFamilySimplifiedHan,
|
| - IDS_FIXED_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSerifFontFamilySimplifiedHan,
|
| - IDS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSansSerifFontFamilySimplifiedHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitStandardFontFamilyTraditionalHan,
|
| - IDS_STANDARD_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitFixedFontFamilyTraditionalHan,
|
| - IDS_FIXED_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSerifFontFamilyTraditionalHan,
|
| - IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSansSerifFontFamilyTraditionalHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" }
|
| -#elif defined(OS_MACOSX)
|
| - { prefs::kWebKitStandardFontFamilyJapanese,
|
| - IDS_STANDARD_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitFixedFontFamilyJapanese, IDS_FIXED_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSerifFontFamilyJapanese, IDS_SERIF_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSansSerifFontFamilyJapanese,
|
| - IDS_SANS_SERIF_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitStandardFontFamilyKorean, IDS_STANDARD_FONT_FAMILY_KOREAN,
|
| - "ko" },
|
| - { prefs::kWebKitSerifFontFamilyKorean, IDS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitSansSerifFontFamilyKorean,
|
| - IDS_SANS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitStandardFontFamilySimplifiedHan,
|
| - IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSerifFontFamilySimplifiedHan,
|
| - IDS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSansSerifFontFamilySimplifiedHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitStandardFontFamilyTraditionalHan,
|
| - IDS_STANDARD_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSerifFontFamilyTraditionalHan,
|
| - IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSansSerifFontFamilyTraditionalHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" }
|
| -#elif defined(OS_WIN)
|
| - { prefs::kWebKitStandardFontFamilyJapanese,
|
| - IDS_STANDARD_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitFixedFontFamilyJapanese, IDS_FIXED_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSerifFontFamilyJapanese, IDS_SERIF_FONT_FAMILY_JAPANESE,
|
| - "ja" },
|
| - { prefs::kWebKitSansSerifFontFamilyJapanese,
|
| - IDS_SANS_SERIF_FONT_FAMILY_JAPANESE, "ja" },
|
| - { prefs::kWebKitStandardFontFamilyKorean, IDS_STANDARD_FONT_FAMILY_KOREAN,
|
| - "ko" },
|
| - { prefs::kWebKitFixedFontFamilyKorean, IDS_FIXED_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitSerifFontFamilyKorean, IDS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitSansSerifFontFamilyKorean,
|
| - IDS_SANS_SERIF_FONT_FAMILY_KOREAN, "ko" },
|
| - { prefs::kWebKitCursiveFontFamilyKorean, IDS_CURSIVE_FONT_FAMILY_KOREAN,
|
| - "ko" },
|
| - { prefs::kWebKitStandardFontFamilySimplifiedHan,
|
| - IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitFixedFontFamilySimplifiedHan,
|
| - IDS_FIXED_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSerifFontFamilySimplifiedHan,
|
| - IDS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitSansSerifFontFamilySimplifiedHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN, "zh-CN" },
|
| - { prefs::kWebKitStandardFontFamilyTraditionalHan,
|
| - IDS_STANDARD_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitFixedFontFamilyTraditionalHan,
|
| - IDS_FIXED_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSerifFontFamilyTraditionalHan,
|
| - IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" },
|
| - { prefs::kWebKitSansSerifFontFamilyTraditionalHan,
|
| - IDS_SANS_SERIF_FONT_FAMILY_TRADITIONAL_HAN, "zh-TW" }
|
| -#endif
|
| -};
|
| -
|
| -#if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
|
| -// To avoid Clang warning, only define kPerScriptFontDefaultsLength when it is
|
| -// non-zero. When it is zero, code like
|
| -// for (size_t i = 0; i < kPerScriptFontDefaultsLength; ++i)
|
| -// causes a warning due to comparison of unsigned expression < 0.
|
| -const size_t kPerScriptFontDefaultsLength = arraysize(kPerScriptFontDefaults);
|
| -#endif
|
| -
|
| } // namespace
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| @@ -259,6 +90,13 @@ TabContentsWrapper::TabContentsWrapper(TabContents* contents)
|
| // go to a Browser.
|
| property_accessor()->SetProperty(contents->property_bag(), this);
|
|
|
| + PrefService* prefs = profile()->GetPrefs();
|
| + pref_change_registrar_.Init(prefs);
|
| + if (prefs) {
|
| + for (int i = 0; i < kPrefsToObserveLength; ++i)
|
| + pref_change_registrar_.Add(kPrefsToObserve[i], this);
|
| + }
|
| +
|
| // Create the tab helpers.
|
| autocomplete_history_manager_.reset(new AutocompleteHistoryManager(contents));
|
| autofill_manager_ = new AutofillManager(this);
|
| @@ -282,7 +120,7 @@ TabContentsWrapper::TabContentsWrapper(TabContents* contents)
|
| password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this));
|
| password_manager_.reset(
|
| new PasswordManager(contents, password_manager_delegate_.get()));
|
| - per_tab_prefs_tab_helper_.reset(new PerTabPrefsTabHelper(this));
|
| + prefs_tab_helper_.reset(new PrefsTabHelper(this));
|
| prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this));
|
| print_view_manager_.reset(new printing::PrintViewManager(this));
|
| restore_tab_helper_.reset(new RestoreTabHelper(this));
|
| @@ -322,37 +160,6 @@ TabContentsWrapper::TabContentsWrapper(TabContents* contents)
|
|
|
| registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_URL_UPDATED,
|
| content::NotificationService::AllSources());
|
| - registrar_.Add(this, chrome::NOTIFICATION_USER_STYLE_SHEET_UPDATED,
|
| - content::NotificationService::AllSources());
|
| -#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
| - registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
|
| - content::Source<ThemeService>(
|
| - ThemeServiceFactory::GetForProfile(profile())));
|
| -#endif
|
| -
|
| - // Register for notifications about all interested prefs change.
|
| - PrefService* prefs = profile()->GetPrefs();
|
| - pref_change_registrar_.Init(prefs);
|
| - if (prefs) {
|
| - for (int i = 0; i < kPrefsToObserveLength; ++i)
|
| - pref_change_registrar_.Add(kPrefsToObserve[i], this);
|
| -
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitStandardFontFamilyMap, this);
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitFixedFontFamilyMap, this);
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitSerifFontFamilyMap, this);
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitSansSerifFontFamilyMap, this);
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitCursiveFontFamilyMap, this);
|
| - RegisterFontFamilyMapObserver(&pref_change_registrar_,
|
| - prefs::kWebKitFantasyFontFamilyMap, this);
|
| - }
|
| -
|
| - renderer_preferences_util::UpdateFromSystemSettings(
|
| - tab_contents()->GetMutableRendererPrefs(), profile());
|
| }
|
|
|
| TabContentsWrapper::~TabContentsWrapper() {
|
| @@ -367,133 +174,10 @@ base::PropertyAccessor<TabContentsWrapper*>*
|
| return g_tab_contents_wrapper_property_accessor.Pointer();
|
| }
|
|
|
| -// static
|
| void TabContentsWrapper::RegisterUserPrefs(PrefService* prefs) {
|
| prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled,
|
| true,
|
| PrefService::SYNCABLE_PREF);
|
| -
|
| - WebPreferences pref_defaults;
|
| - prefs->RegisterBooleanPref(prefs::kWebKitGlobalJavascriptEnabled,
|
| - pref_defaults.javascript_enabled,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled,
|
| - pref_defaults.web_security_enabled,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(
|
| - prefs::kWebKitJavascriptCanOpenWindowsAutomatically,
|
| - true,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically,
|
| - pref_defaults.loads_images_automatically,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitPluginsEnabled,
|
| - pref_defaults.plugins_enabled,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitDomPasteEnabled,
|
| - pref_defaults.dom_paste_enabled,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitShrinksStandaloneImagesToFit,
|
| - pref_defaults.shrinks_standalone_images_to_fit,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterDictionaryPref(prefs::kWebKitInspectorSettings,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitTextAreasAreResizable,
|
| - pref_defaults.text_areas_are_resizable,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitJavaEnabled,
|
| - pref_defaults.java_enabled,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebkitTabsToLinks,
|
| - pref_defaults.tabs_to_links,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent,
|
| - false,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent,
|
| - true,
|
| - PrefService::UNSYNCABLE_PREF);
|
| -
|
| -#if !defined(OS_MACOSX)
|
| - prefs->RegisterLocalizedStringPref(prefs::kAcceptLanguages,
|
| - IDS_ACCEPT_LANGUAGES,
|
| - PrefService::SYNCABLE_PREF);
|
| -#else
|
| - // Not used in OSX.
|
| - prefs->RegisterLocalizedStringPref(prefs::kAcceptLanguages,
|
| - IDS_ACCEPT_LANGUAGES,
|
| - PrefService::UNSYNCABLE_PREF);
|
| -#endif
|
| - prefs->RegisterLocalizedStringPref(prefs::kDefaultCharset,
|
| - IDS_DEFAULT_ENCODING,
|
| - PrefService::SYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitStandardFontFamily,
|
| - IDS_STANDARD_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitFixedFontFamily,
|
| - IDS_FIXED_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitSerifFontFamily,
|
| - IDS_SERIF_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitSansSerifFontFamily,
|
| - IDS_SANS_SERIF_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitCursiveFontFamily,
|
| - IDS_CURSIVE_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kWebKitFantasyFontFamily,
|
| - IDS_FANTASY_FONT_FAMILY,
|
| - PrefService::UNSYNCABLE_PREF);
|
| -
|
| - // Register per-script font prefs that have defaults.
|
| -#if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
|
| - // As explained by its definition, kPerScriptFontDefaultsLength is only
|
| - // defined for platforms where it would be non-zero.
|
| - std::string locale = g_browser_process->GetApplicationLocale();
|
| - for (size_t i = 0; i < kPerScriptFontDefaultsLength; ++i) {
|
| - const PerScriptFontDefault& pref = kPerScriptFontDefaults[i];
|
| - // Suppress default per-script font when the script matches the browser's
|
| - // locale. Otherwise, the default would override the user's preferences
|
| - // when viewing pages in their native language. This can be removed when
|
| - // per-script fonts are added to Preferences UI.
|
| - if (!StartsWithASCII(locale, pref.native_locale, false)) {
|
| - prefs->RegisterLocalizedStringPref(pref.pref_name,
|
| - pref.resource_id,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - }
|
| - }
|
| -#endif
|
| -
|
| - // Register the rest of the per-script font prefs.
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitStandardFontFamilyMap);
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitFixedFontFamilyMap);
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitSerifFontFamilyMap);
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitSansSerifFontFamilyMap);
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitCursiveFontFamilyMap);
|
| - RegisterFontFamilyMap(prefs, prefs::kWebKitFantasyFontFamilyMap);
|
| -
|
| - prefs->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFontSize,
|
| - IDS_DEFAULT_FONT_SIZE,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFixedFontSize,
|
| - IDS_DEFAULT_FIXED_FONT_SIZE,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedIntegerPref(prefs::kWebKitMinimumFontSize,
|
| - IDS_MINIMUM_FONT_SIZE,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedIntegerPref(prefs::kWebKitMinimumLogicalFontSize,
|
| - IDS_MINIMUM_LOGICAL_FONT_SIZE,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterLocalizedBooleanPref(prefs::kWebKitUsesUniversalDetector,
|
| - IDS_USES_UNIVERSAL_DETECTOR,
|
| - PrefService::SYNCABLE_PREF);
|
| - prefs->RegisterLocalizedStringPref(prefs::kStaticEncodings,
|
| - IDS_STATIC_ENCODING_LIST,
|
| - PrefService::UNSYNCABLE_PREF);
|
| - prefs->RegisterStringPref(prefs::kRecentlySelectedEncoding,
|
| - "",
|
| - PrefService::UNSYNCABLE_PREF);
|
| }
|
|
|
| string16 TabContentsWrapper::GetDefaultTitle() {
|
| @@ -620,31 +304,15 @@ void TabContentsWrapper::Observe(int type,
|
| case chrome::NOTIFICATION_GOOGLE_URL_UPDATED:
|
| UpdateAlternateErrorPageURL(render_view_host());
|
| break;
|
| - case chrome::NOTIFICATION_USER_STYLE_SHEET_UPDATED:
|
| - UpdateWebPreferences();
|
| - break;
|
| -#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
| - case chrome::NOTIFICATION_BROWSER_THEME_CHANGED: {
|
| - UpdateRendererPreferences();
|
| - break;
|
| - }
|
| -#endif
|
| case chrome::NOTIFICATION_PREF_CHANGED: {
|
| std::string* pref_name_in = content::Details<std::string>(details).ptr();
|
| DCHECK(content::Source<PrefService>(source).ptr() ==
|
| - profile()->GetPrefs() ||
|
| - content::Source<PrefService>(source).ptr() ==
|
| - per_tab_prefs_tab_helper_->prefs());
|
| + profile()->GetPrefs());
|
| if (*pref_name_in == prefs::kAlternateErrorPagesEnabled) {
|
| UpdateAlternateErrorPageURL(render_view_host());
|
| - } else if ((*pref_name_in == prefs::kDefaultCharset) ||
|
| - StartsWithASCII(*pref_name_in, "webkit.webprefs.", true)) {
|
| - UpdateWebPreferences();
|
| } else if (*pref_name_in == prefs::kDefaultZoomLevel) {
|
| tab_contents()->render_view_host()->SetZoomLevel(
|
| tab_contents()->GetZoomLevel());
|
| - } else if (*pref_name_in == prefs::kEnableReferrers) {
|
| - UpdateRendererPreferences();
|
| } else if (*pref_name_in == prefs::kSafeBrowsingEnabled) {
|
| UpdateSafebrowsingDetectionHost();
|
| } else {
|
| @@ -690,19 +358,6 @@ void TabContentsWrapper::UpdateAlternateErrorPageURL(RenderViewHost* rvh) {
|
| rvh->SetAltErrorPageURL(GetAlternateErrorPageURL());
|
| }
|
|
|
| -void TabContentsWrapper::UpdateWebPreferences() {
|
| - RenderViewHostDelegate* rvhd = tab_contents();
|
| - WebPreferences prefs = rvhd->GetWebkitPrefs();
|
| - per_tab_prefs_tab_helper_->OverrideWebPreferences(&prefs);
|
| - tab_contents()->render_view_host()->UpdateWebkitPreferences(prefs);
|
| -}
|
| -
|
| -void TabContentsWrapper::UpdateRendererPreferences() {
|
| - renderer_preferences_util::UpdateFromSystemSettings(
|
| - tab_contents()->GetMutableRendererPrefs(), profile());
|
| - render_view_host()->SyncRendererPrefs();
|
| -}
|
| -
|
| void TabContentsWrapper::UpdateSafebrowsingDetectionHost() {
|
| #if defined(ENABLE_SAFE_BROWSING)
|
| PrefService* prefs = profile()->GetPrefs();
|
|
|