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 4c46e8e2bece619a8d50f94b3925528b436e063a..5271675d259de078889b0ee522a6a1b320a4a440 100644 |
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc |
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc |
@@ -11,6 +11,7 @@ |
#include "base/stringprintf.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/prefs/pref_registry_syncable.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/renderer_preferences_util.h" |
@@ -40,59 +41,59 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(PrefsTabHelper); |
namespace { |
// Registers prefs only used for migration. |
-void RegisterPrefsToMigrate(PrefServiceSyncable* prefs) { |
+void RegisterPrefsToMigrate(PrefRegistrySyncable* prefs) { |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldStandardFontFamily, |
IDS_STANDARD_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldFixedFontFamily, |
IDS_FIXED_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldSerifFontFamily, |
IDS_SERIF_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldSansSerifFontFamily, |
IDS_SANS_SERIF_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldCursiveFontFamily, |
IDS_CURSIVE_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitOldFantasyFontFamily, |
IDS_FANTASY_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kGlobalDefaultCharset, |
IDS_DEFAULT_ENCODING, |
- PrefServiceSyncable::SYNCABLE_PREF); |
+ PrefRegistrySyncable::SYNCABLE_PREF); |
prefs->RegisterLocalizedIntegerPref(prefs::kWebKitGlobalDefaultFontSize, |
IDS_DEFAULT_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedIntegerPref(prefs::kWebKitGlobalDefaultFixedFontSize, |
IDS_DEFAULT_FIXED_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedIntegerPref(prefs::kWebKitGlobalMinimumFontSize, |
IDS_MINIMUM_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedIntegerPref( |
prefs::kWebKitGlobalMinimumLogicalFontSize, |
IDS_MINIMUM_LOGICAL_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalStandardFontFamily, |
IDS_STANDARD_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalFixedFontFamily, |
IDS_FIXED_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalSerifFontFamily, |
IDS_SERIF_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalSansSerifFontFamily, |
IDS_SANS_SERIF_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalCursiveFontFamily, |
IDS_CURSIVE_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
prefs->RegisterLocalizedStringPref(prefs::kWebKitGlobalFantasyFontFamily, |
IDS_FANTASY_FONT_FAMILY, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
// The list of prefs we want to observe. |
@@ -121,7 +122,7 @@ 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(PrefServiceSyncable* prefs, |
+void RegisterFontFamilyMap(PrefRegistrySyncable* registry, |
const char* map_name, |
const std::set<std::string>& fonts_with_defaults) { |
for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) { |
@@ -131,8 +132,8 @@ void RegisterFontFamilyMap(PrefServiceSyncable* prefs, |
if (fonts_with_defaults.find(pref_name) == fonts_with_defaults.end()) { |
// We haven't already set a default value for this font preference, so set |
// an empty string as the default. |
- prefs->RegisterStringPref( |
- pref_name, "", PrefServiceSyncable::UNSYNCABLE_PREF); |
+ registry->RegisterStringPref( |
+ pref_name, "", PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
} |
} |
@@ -339,20 +340,6 @@ const struct { |
const int kPrefsToMigrateLength = ARRAYSIZE_UNSAFE(kPrefNamesToMigrate); |
-void MigratePreferences(PrefServiceSyncable* prefs) { |
- RegisterPrefsToMigrate(prefs); |
- for (int i = 0; i < kPrefsToMigrateLength; ++i) { |
- const PrefService::Preference* pref = |
- prefs->FindPreference(kPrefNamesToMigrate[i].from); |
- if (!pref) continue; |
- if (!pref->IsDefaultValue()) { |
- prefs->Set(kPrefNamesToMigrate[i].to, *pref->GetValue()); |
- } |
- prefs->ClearPref(kPrefNamesToMigrate[i].from); |
- prefs->UnregisterPreference(kPrefNamesToMigrate[i].from); |
- } |
-} |
- |
// Sets a font family pref in |prefs| to |pref_value|. |
void OverrideFontFamily(WebPreferences* prefs, |
const std::string& generic_family, |
@@ -456,72 +443,72 @@ void PrefsTabHelper::InitIncognitoUserPrefStore( |
} |
// static |
-void PrefsTabHelper::RegisterUserPrefs(PrefServiceSyncable* prefs) { |
+void PrefsTabHelper::RegisterUserPrefs(PrefRegistrySyncable* registry) { |
WebPreferences pref_defaults; |
- prefs->RegisterBooleanPref(prefs::kWebKitJavascriptEnabled, |
- pref_defaults.javascript_enabled, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled, |
- pref_defaults.web_security_enabled, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref( |
+ registry->RegisterBooleanPref(prefs::kWebKitJavascriptEnabled, |
+ pref_defaults.javascript_enabled, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled, |
+ pref_defaults.web_security_enabled, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref( |
prefs::kWebKitJavascriptCanOpenWindowsAutomatically, |
true, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically, |
- pref_defaults.loads_images_automatically, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitPluginsEnabled, |
- pref_defaults.plugins_enabled, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitDomPasteEnabled, |
- pref_defaults.dom_paste_enabled, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitShrinksStandaloneImagesToFit, |
- pref_defaults.shrinks_standalone_images_to_fit, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterDictionaryPref(prefs::kWebKitInspectorSettings, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitTextAreasAreResizable, |
- pref_defaults.text_areas_are_resizable, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitJavaEnabled, |
- pref_defaults.java_enabled, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebkitTabsToLinks, |
- pref_defaults.tabs_to_links, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent, |
- false, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent, |
- true, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kEnableReferrers, |
- true, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically, |
+ pref_defaults.loads_images_automatically, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitPluginsEnabled, |
+ pref_defaults.plugins_enabled, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitDomPasteEnabled, |
+ pref_defaults.dom_paste_enabled, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitShrinksStandaloneImagesToFit, |
+ pref_defaults.shrinks_standalone_images_to_fit, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterDictionaryPref(prefs::kWebKitInspectorSettings, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitTextAreasAreResizable, |
+ pref_defaults.text_areas_are_resizable, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitJavaEnabled, |
+ pref_defaults.java_enabled, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebkitTabsToLinks, |
+ pref_defaults.tabs_to_links, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent, |
+ false, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent, |
+ true, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kEnableReferrers, |
+ true, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
#if defined(OS_ANDROID) |
- prefs->RegisterDoublePref(prefs::kWebKitFontScaleFactor, |
- pref_defaults.font_scale_factor, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterBooleanPref(prefs::kWebKitForceEnableZoom, |
- pref_defaults.force_enable_zoom, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ registry->RegisterDoublePref(prefs::kWebKitFontScaleFactor, |
+ pref_defaults.font_scale_factor, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterBooleanPref(prefs::kWebKitForceEnableZoom, |
+ pref_defaults.force_enable_zoom, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
#endif |
#if !defined(OS_MACOSX) |
- prefs->RegisterLocalizedStringPref(prefs::kAcceptLanguages, |
- IDS_ACCEPT_LANGUAGES, |
- PrefServiceSyncable::SYNCABLE_PREF); |
+ registry->RegisterLocalizedStringPref(prefs::kAcceptLanguages, |
+ IDS_ACCEPT_LANGUAGES, |
+ PrefRegistrySyncable::SYNCABLE_PREF); |
#else |
// Not used in OSX. |
- prefs->RegisterLocalizedStringPref(prefs::kAcceptLanguages, |
- IDS_ACCEPT_LANGUAGES, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedStringPref(prefs::kAcceptLanguages, |
+ IDS_ACCEPT_LANGUAGES, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
#endif |
- prefs->RegisterLocalizedStringPref(prefs::kDefaultCharset, |
- IDS_DEFAULT_ENCODING, |
- PrefServiceSyncable::SYNCABLE_PREF); |
+ registry->RegisterLocalizedStringPref(prefs::kDefaultCharset, |
+ IDS_DEFAULT_ENCODING, |
+ PrefRegistrySyncable::SYNCABLE_PREF); |
// Register font prefs that have defaults. |
std::set<std::string> fonts_with_defaults; |
@@ -543,52 +530,67 @@ void PrefsTabHelper::RegisterUserPrefs(PrefServiceSyncable* prefs) { |
// prefs (e.g., via the extensions workflow), or the problem turns out to |
// not be really critical after all. |
if (browser_script != pref_script) { |
- prefs->RegisterLocalizedStringPref(pref.pref_name, |
- pref.resource_id, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedStringPref( |
+ pref.pref_name, |
+ pref.resource_id, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
fonts_with_defaults.insert(pref.pref_name); |
} |
} |
// Register font prefs that don't have defaults. |
- RegisterFontFamilyMap(prefs, prefs::kWebKitStandardFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitStandardFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitFixedFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitFixedFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitSerifFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitSerifFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitSansSerifFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitSansSerifFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitCursiveFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitCursiveFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitFantasyFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitFantasyFontFamilyMap, |
fonts_with_defaults); |
- RegisterFontFamilyMap(prefs, prefs::kWebKitPictographFontFamilyMap, |
+ RegisterFontFamilyMap(registry, prefs::kWebKitPictographFontFamilyMap, |
fonts_with_defaults); |
- prefs->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFontSize, |
- IDS_DEFAULT_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFixedFontSize, |
- IDS_DEFAULT_FIXED_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterLocalizedIntegerPref(prefs::kWebKitMinimumFontSize, |
- IDS_MINIMUM_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterLocalizedIntegerPref( |
+ registry->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFontSize, |
+ IDS_DEFAULT_FONT_SIZE, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedIntegerPref(prefs::kWebKitDefaultFixedFontSize, |
+ IDS_DEFAULT_FIXED_FONT_SIZE, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedIntegerPref(prefs::kWebKitMinimumFontSize, |
+ IDS_MINIMUM_FONT_SIZE, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedIntegerPref( |
prefs::kWebKitMinimumLogicalFontSize, |
IDS_MINIMUM_LOGICAL_FONT_SIZE, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterLocalizedBooleanPref(prefs::kWebKitUsesUniversalDetector, |
- IDS_USES_UNIVERSAL_DETECTOR, |
- PrefServiceSyncable::SYNCABLE_PREF); |
- prefs->RegisterLocalizedStringPref(prefs::kStaticEncodings, |
- IDS_STATIC_ENCODING_LIST, |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- prefs->RegisterStringPref(prefs::kRecentlySelectedEncoding, |
- "", |
- PrefServiceSyncable::UNSYNCABLE_PREF); |
- MigratePreferences(prefs); |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterLocalizedBooleanPref(prefs::kWebKitUsesUniversalDetector, |
+ IDS_USES_UNIVERSAL_DETECTOR, |
+ PrefRegistrySyncable::SYNCABLE_PREF); |
+ registry->RegisterLocalizedStringPref(prefs::kStaticEncodings, |
+ IDS_STATIC_ENCODING_LIST, |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterStringPref(prefs::kRecentlySelectedEncoding, |
+ "", |
+ PrefRegistrySyncable::UNSYNCABLE_PREF); |
+} |
+ |
+void PrefsTabHelper::MigrateUserPrefs(PrefService* prefs, |
+ PrefRegistrySyncable* registry) { |
+ RegisterPrefsToMigrate(registry); |
+ for (int i = 0; i < kPrefsToMigrateLength; ++i) { |
+ const PrefService::Preference* pref = |
+ prefs->FindPreference(kPrefNamesToMigrate[i].from); |
+ if (!pref) continue; |
+ if (!pref->IsDefaultValue()) { |
+ prefs->Set(kPrefNamesToMigrate[i].to, *pref->GetValue()); |
+ } |
+ prefs->ClearPref(kPrefNamesToMigrate[i].from); |
+ registry->DeprecatedUnregisterPreference(kPrefNamesToMigrate[i].from); |
+ } |
} |
void PrefsTabHelper::Observe(int type, |