summaryrefslogtreecommitdiffstats
path: root/chrome/browser/content_settings
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-10 13:14:04 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-10 13:14:04 +0000
commitc753f148dc1a10cd9461e50e03dc2a93652c13d1 (patch)
tree9e1a8558556a0f31d4e527c4c203d076f8cca920 /chrome/browser/content_settings
parente6dbde892ddea9e179fa76e4db1333e83776d160 (diff)
downloadchromium_src-c753f148dc1a10cd9461e50e03dc2a93652c13d1.zip
chromium_src-c753f148dc1a10cd9461e50e03dc2a93652c13d1.tar.gz
chromium_src-c753f148dc1a10cd9461e50e03dc2a93652c13d1.tar.bz2
Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable.
Minimize usage of PrefServiceSyncable. It is mostly an implementation detail of ProfileImpl and the sync integration. TBR=ben@chromium.org BUG=155525 Review URL: https://codereview.chromium.org/12079097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181648 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/content_settings')
-rw-r--r--chrome/browser/content_settings/content_settings_default_provider.cc9
-rw-r--r--chrome/browser/content_settings/content_settings_default_provider.h4
-rw-r--r--chrome/browser/content_settings/content_settings_policy_provider.cc107
-rw-r--r--chrome/browser/content_settings/content_settings_policy_provider.h4
-rw-r--r--chrome/browser/content_settings/content_settings_pref_provider.cc11
-rw-r--r--chrome/browser/content_settings/content_settings_pref_provider.h4
-rw-r--r--chrome/browser/content_settings/content_settings_pref_provider_unittest.cc18
-rw-r--r--chrome/browser/content_settings/cookie_settings.cc9
-rw-r--r--chrome/browser/content_settings/cookie_settings.h6
-rw-r--r--chrome/browser/content_settings/host_content_settings_map.cc25
-rw-r--r--chrome/browser/content_settings/host_content_settings_map.h4
11 files changed, 106 insertions, 95 deletions
diff --git a/chrome/browser/content_settings/content_settings_default_provider.cc b/chrome/browser/content_settings/content_settings_default_provider.cc
index 9a9c738..5651955 100644
--- a/chrome/browser/content_settings/content_settings_default_provider.cc
+++ b/chrome/browser/content_settings/content_settings_default_provider.cc
@@ -13,6 +13,7 @@
#include "base/metrics/histogram.h"
#include "chrome/browser/content_settings/content_settings_rule.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
+#include "chrome/browser/prefs/pref_registry_syncable.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_notification_types.h"
@@ -87,7 +88,7 @@ class DefaultRuleIterator : public RuleIterator {
} // namespace
// static
-void DefaultProvider::RegisterUserPrefs(PrefServiceSyncable* prefs) {
+void DefaultProvider::RegisterUserPrefs(PrefRegistrySyncable* registry) {
// The registration of the preference prefs::kDefaultContentSettings should
// also include the default values for default content settings. This allows
// functional tests to get default content settings by reading the preference
@@ -95,9 +96,9 @@ void DefaultProvider::RegisterUserPrefs(PrefServiceSyncable* prefs) {
// TODO(markusheintz): Write pyauto hooks for the content settings map as
// content settings should be read from the host content settings map.
DictionaryValue* default_content_settings = new DictionaryValue();
- prefs->RegisterDictionaryPref(prefs::kDefaultContentSettings,
- default_content_settings,
- PrefServiceSyncable::SYNCABLE_PREF);
+ registry->RegisterDictionaryPref(prefs::kDefaultContentSettings,
+ default_content_settings,
+ PrefRegistrySyncable::SYNCABLE_PREF);
}
DefaultProvider::DefaultProvider(PrefService* prefs, bool incognito)
diff --git a/chrome/browser/content_settings/content_settings_default_provider.h b/chrome/browser/content_settings/content_settings_default_provider.h
index d54a32f..28a2fe1 100644
--- a/chrome/browser/content_settings/content_settings_default_provider.h
+++ b/chrome/browser/content_settings/content_settings_default_provider.h
@@ -15,8 +15,8 @@
#include "base/synchronization/lock.h"
#include "chrome/browser/content_settings/content_settings_observable_provider.h"
+class PrefRegistrySyncable;
class PrefService;
-class PrefServiceSyncable;
namespace content_settings {
@@ -25,7 +25,7 @@ namespace content_settings {
// default values.
class DefaultProvider : public ObservableProvider {
public:
- static void RegisterUserPrefs(PrefServiceSyncable* prefs);
+ static void RegisterUserPrefs(PrefRegistrySyncable* registry);
DefaultProvider(PrefService* prefs,
bool incognito);
diff --git a/chrome/browser/content_settings/content_settings_policy_provider.cc b/chrome/browser/content_settings/content_settings_policy_provider.cc
index 3ab6899..0687d6a 100644
--- a/chrome/browser/content_settings/content_settings_policy_provider.cc
+++ b/chrome/browser/content_settings/content_settings_policy_provider.cc
@@ -11,6 +11,7 @@
#include "base/values.h"
#include "chrome/browser/content_settings/content_settings_rule.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
+#include "chrome/browser/prefs/pref_registry_syncable.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/content_settings_pattern.h"
@@ -117,61 +118,61 @@ const PrefsForManagedContentSettingsMapEntry
namespace content_settings {
// static
-void PolicyProvider::RegisterUserPrefs(PrefServiceSyncable* prefs) {
- prefs->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedImagesAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedImagesBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedPluginsAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedPluginsBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedPopupsAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedPopupsBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls,
- PrefServiceSyncable::UNSYNCABLE_PREF);
+void PolicyProvider::RegisterUserPrefs(PrefRegistrySyncable* registry) {
+ registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
// Preferences for default content setting policies. If a policy is not set of
// the corresponding preferences below is set to CONTENT_SETTING_DEFAULT.
- prefs->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting,
- CONTENT_SETTING_DEFAULT,
- PrefServiceSyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting,
+ CONTENT_SETTING_DEFAULT,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
}
PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) {
diff --git a/chrome/browser/content_settings/content_settings_policy_provider.h b/chrome/browser/content_settings/content_settings_policy_provider.h
index eb8c3d01..6635996 100644
--- a/chrome/browser/content_settings/content_settings_policy_provider.h
+++ b/chrome/browser/content_settings/content_settings_policy_provider.h
@@ -16,7 +16,7 @@
#include "chrome/browser/content_settings/content_settings_origin_identifier_value_map.h"
class PrefService;
-class PrefServiceSyncable;
+class PrefRegistrySyncable;
namespace content_settings {
@@ -25,7 +25,7 @@ class PolicyProvider : public ObservableProvider {
public:
explicit PolicyProvider(PrefService* prefs);
virtual ~PolicyProvider();
- static void RegisterUserPrefs(PrefServiceSyncable* prefs);
+ static void RegisterUserPrefs(PrefRegistrySyncable* registry);
// ProviderInterface implementations.
virtual RuleIterator* GetRuleIterator(
diff --git a/chrome/browser/content_settings/content_settings_pref_provider.cc b/chrome/browser/content_settings/content_settings_pref_provider.cc
index 87b58cc..33ba182 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/content_settings/content_settings_rule.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
#include "chrome/browser/content_settings/host_content_settings_map.h"
+#include "chrome/browser/prefs/pref_registry_syncable.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_notification_types.h"
@@ -71,13 +72,13 @@ namespace content_settings {
//
// static
-void PrefProvider::RegisterUserPrefs(PrefServiceSyncable* prefs) {
- prefs->RegisterIntegerPref(
+void PrefProvider::RegisterUserPrefs(PrefRegistrySyncable* registry) {
+ registry->RegisterIntegerPref(
prefs::kContentSettingsVersion,
ContentSettingsPattern::kContentSettingsPatternVersion,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterDictionaryPref(prefs::kContentSettingsPatternPairs,
- PrefServiceSyncable::SYNCABLE_PREF);
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterDictionaryPref(prefs::kContentSettingsPatternPairs,
+ PrefRegistrySyncable::SYNCABLE_PREF);
}
PrefProvider::PrefProvider(PrefService* prefs,
diff --git a/chrome/browser/content_settings/content_settings_pref_provider.h b/chrome/browser/content_settings/content_settings_pref_provider.h
index 3c87bed..4764138 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider.h
+++ b/chrome/browser/content_settings/content_settings_pref_provider.h
@@ -17,7 +17,7 @@
#include "chrome/browser/content_settings/content_settings_utils.h"
class PrefService;
-class PrefServiceSyncable;
+class PrefRegistrySyncable;
namespace base {
class DictionaryValue;
@@ -29,7 +29,7 @@ namespace content_settings {
// preference.
class PrefProvider : public ObservableProvider {
public:
- static void RegisterUserPrefs(PrefServiceSyncable* prefs);
+ static void RegisterUserPrefs(PrefRegistrySyncable* registry);
PrefProvider(PrefService* prefs, bool incognito);
virtual ~PrefProvider();
diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
index 3b2ce7e..ca8e570 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
@@ -17,8 +17,10 @@
#include "chrome/browser/content_settings/content_settings_mock_observer.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
#include "chrome/browser/prefs/browser_prefs.h"
+#include "chrome/browser/prefs/pref_registry_syncable.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prefs/pref_service_mock_builder.h"
+#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
@@ -134,16 +136,18 @@ TEST_F(PrefProviderTest, Incognito) {
PrefServiceMockBuilder builder;
builder.WithUserPrefs(user_prefs);
- PrefServiceSyncable* regular_prefs = builder.CreateSyncable();
+ scoped_refptr<PrefRegistrySyncable> registry(new PrefRegistrySyncable);
+ PrefServiceSyncable* regular_prefs = builder.CreateSyncable(registry);
- Profile::RegisterUserPrefs(regular_prefs);
- chrome::RegisterUserPrefs(regular_prefs);
+ Profile::RegisterUserPrefs(registry);
+ chrome::RegisterUserPrefs(regular_prefs, registry);
builder.WithUserPrefs(otr_user_prefs);
- PrefServiceSyncable* otr_prefs = builder.CreateSyncable();
+ scoped_refptr<PrefRegistrySyncable> otr_registry(new PrefRegistrySyncable);
+ PrefServiceSyncable* otr_prefs = builder.CreateSyncable(otr_registry);
- Profile::RegisterUserPrefs(otr_prefs);
- chrome::RegisterUserPrefs(otr_prefs);
+ Profile::RegisterUserPrefs(otr_registry);
+ chrome::RegisterUserPrefs(otr_prefs, otr_registry);
TestingProfile profile;
TestingProfile* otr_profile = new TestingProfile;
@@ -368,7 +372,7 @@ TEST_F(PrefProviderTest, AutoSubmitCertificateContentSetting) {
// http://crosbug.com/17760
TEST_F(PrefProviderTest, Deadlock) {
TestingPrefServiceSyncable prefs;
- PrefProvider::RegisterUserPrefs(&prefs);
+ PrefProvider::RegisterUserPrefs(prefs.registry());
// Chain of events: a preference changes, |PrefProvider| notices it, and reads
// and writes the preference. When the preference is written, a notification
diff --git a/chrome/browser/content_settings/cookie_settings.cc b/chrome/browser/content_settings/cookie_settings.cc
index a9cf918..50753c2 100644
--- a/chrome/browser/content_settings/cookie_settings.cc
+++ b/chrome/browser/content_settings/cookie_settings.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
#include "chrome/browser/content_settings/host_content_settings_map.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/profiles/profile_dependency_manager.h"
@@ -65,10 +66,10 @@ CookieSettings::Factory::Factory()
CookieSettings::Factory::~Factory() {}
void CookieSettings::Factory::RegisterUserPrefs(
- PrefServiceSyncable* user_prefs) {
- user_prefs->RegisterBooleanPref(prefs::kBlockThirdPartyCookies,
- false,
- PrefServiceSyncable::SYNCABLE_PREF);
+ PrefRegistrySyncable* registry) {
+ registry->RegisterBooleanPref(prefs::kBlockThirdPartyCookies,
+ false,
+ PrefRegistrySyncable::SYNCABLE_PREF);
}
bool CookieSettings::Factory::ServiceRedirectedInIncognito() const {
diff --git a/chrome/browser/content_settings/cookie_settings.h b/chrome/browser/content_settings/cookie_settings.h
index f76ce0d..5be1c4c 100644
--- a/chrome/browser/content_settings/cookie_settings.h
+++ b/chrome/browser/content_settings/cookie_settings.h
@@ -21,7 +21,7 @@ class ContentSettingsPattern;
class CookieSettingsWrapper;
class GURL;
class PrefService;
-class PrefServiceSyncable;
+class PrefRegistrySyncable;
class Profile;
// A frontend to the cookie settings of |HostContentSettingsMap|. Handles
@@ -102,7 +102,7 @@ class CookieSettings
bool setting_cookie,
content_settings::SettingSource* source) const;
- static void RegisterUserPrefs(PrefServiceSyncable* prefs);
+ static void RegisterUserPrefs(PrefRegistrySyncable* registry);
class Factory : public RefcountedProfileKeyedServiceFactory {
public:
@@ -120,7 +120,7 @@ class CookieSettings
virtual ~Factory();
// |ProfileKeyedBaseFactory| methods:
- virtual void RegisterUserPrefs(PrefServiceSyncable* user_prefs) OVERRIDE;
+ virtual void RegisterUserPrefs(PrefRegistrySyncable* registry) OVERRIDE;
virtual bool ServiceRedirectedInIncognito() const OVERRIDE;
virtual scoped_refptr<RefcountedProfileKeyedService>
BuildServiceInstanceFor(Profile* profile) const OVERRIDE;
diff --git a/chrome/browser/content_settings/host_content_settings_map.cc b/chrome/browser/content_settings/host_content_settings_map.cc
index 4503e06..f4ed324 100644
--- a/chrome/browser/content_settings/host_content_settings_map.cc
+++ b/chrome/browser/content_settings/host_content_settings_map.cc
@@ -23,6 +23,7 @@
#include "chrome/browser/content_settings/content_settings_utils.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/intents/web_intents_util.h"
+#include "chrome/browser/prefs/pref_registry_syncable.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
@@ -130,19 +131,21 @@ void HostContentSettingsMap::RegisterExtensionService(
#endif
// static
-void HostContentSettingsMap::RegisterUserPrefs(PrefServiceSyncable* prefs) {
- prefs->RegisterIntegerPref(prefs::kContentSettingsWindowLastTabIndex,
- 0,
- PrefServiceSyncable::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kContentSettingsDefaultWhitelistVersion,
- 0, PrefServiceSyncable::SYNCABLE_PREF);
- prefs->RegisterBooleanPref(prefs::kContentSettingsClearOnExitMigrated,
- false, PrefServiceSyncable::SYNCABLE_PREF);
+void HostContentSettingsMap::RegisterUserPrefs(PrefRegistrySyncable* registry) {
+ registry->RegisterIntegerPref(prefs::kContentSettingsWindowLastTabIndex,
+ 0,
+ PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(prefs::kContentSettingsDefaultWhitelistVersion,
+ 0,
+ PrefRegistrySyncable::SYNCABLE_PREF);
+ registry->RegisterBooleanPref(prefs::kContentSettingsClearOnExitMigrated,
+ false,
+ PrefRegistrySyncable::SYNCABLE_PREF);
// Register the prefs for the content settings providers.
- content_settings::DefaultProvider::RegisterUserPrefs(prefs);
- content_settings::PrefProvider::RegisterUserPrefs(prefs);
- content_settings::PolicyProvider::RegisterUserPrefs(prefs);
+ content_settings::DefaultProvider::RegisterUserPrefs(registry);
+ content_settings::PrefProvider::RegisterUserPrefs(registry);
+ content_settings::PolicyProvider::RegisterUserPrefs(registry);
}
ContentSetting HostContentSettingsMap::GetDefaultContentSettingFromProvider(
diff --git a/chrome/browser/content_settings/host_content_settings_map.h b/chrome/browser/content_settings/host_content_settings_map.h
index 74421fa..635a3db 100644
--- a/chrome/browser/content_settings/host_content_settings_map.h
+++ b/chrome/browser/content_settings/host_content_settings_map.h
@@ -33,7 +33,7 @@ class ProviderInterface;
class ExtensionService;
class GURL;
class PrefService;
-class PrefServiceSyncable;
+class PrefRegistrySyncable;
class HostContentSettingsMap
: public content_settings::Observer,
@@ -57,7 +57,7 @@ class HostContentSettingsMap
void RegisterExtensionService(ExtensionService* extension_service);
#endif
- static void RegisterUserPrefs(PrefServiceSyncable* prefs);
+ static void RegisterUserPrefs(PrefRegistrySyncable* registry);
// Returns the default setting for a particular content type. If |provider_id|
// is not NULL, the id of the provider which provided the default setting is