diff options
author | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-09 06:19:16 +0000 |
---|---|---|
committer | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-09 06:19:16 +0000 |
commit | d36f941bbea3e9fa6d13829626a1911008b37f17 (patch) | |
tree | d7b3e6a109c39557bd30154407c000f0bb730339 /chrome/browser/net | |
parent | 838dd914a5bd6a049915984c9619d69ef160b82e (diff) | |
download | chromium_src-d36f941bbea3e9fa6d13829626a1911008b37f17.zip chromium_src-d36f941bbea3e9fa6d13829626a1911008b37f17.tar.gz chromium_src-d36f941bbea3e9fa6d13829626a1911008b37f17.tar.bz2 |
Refactor preference syncing.
The following are the primary changes:
1. Whenever a profile preference is registered, it must specify whether that
preference should be synced or not. Local state preferences do not require this.
However, we DCHECK that local state preferences are in fact registered to the
local state.
2. We've created a new sync model associator interface, which all datatypes
will eventually implement. This new model associator is designed to be
decoupled from much of the sync internals, and to be owned by the chrome service
being synced. It also implements most of the functionality previous handled by
the change processor.
3. The PrefService now owns its sync model associator
(pref_model_associator), which partially implements the new model associator
functionality. Further work will be done to remove the use of sync
transactions from the model associator, as well as to migrate other datatypes.
BUG=76232
TEST=
Review URL: http://codereview.chromium.org/6905044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84603 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r-- | chrome/browser/net/net_pref_observer.cc | 12 | ||||
-rw-r--r-- | chrome/browser/net/predictor_api.cc | 12 | ||||
-rw-r--r-- | chrome/browser/net/pref_proxy_config_service.cc | 4 | ||||
-rw-r--r-- | chrome/browser/net/ssl_config_service_manager_pref.cc | 9 |
4 files changed, 26 insertions, 11 deletions
diff --git a/chrome/browser/net/net_pref_observer.cc b/chrome/browser/net/net_pref_observer.cc index 597af94..b125dae 100644 --- a/chrome/browser/net/net_pref_observer.cc +++ b/chrome/browser/net/net_pref_observer.cc @@ -71,7 +71,13 @@ void NetPrefObserver::ApplySettings(const std::string* pref_name) { // static void NetPrefObserver::RegisterPrefs(PrefService* prefs) { - prefs->RegisterBooleanPref(prefs::kNetworkPredictionEnabled, true); - prefs->RegisterBooleanPref(prefs::kDisableSpdy, false); - prefs->RegisterBooleanPref(prefs::kHttpThrottlingEnabled, false); + prefs->RegisterBooleanPref(prefs::kNetworkPredictionEnabled, + true, + PrefService::SYNCABLE_PREF); + prefs->RegisterBooleanPref(prefs::kDisableSpdy, + false, + PrefService::UNSYNCABLE_PREF); + prefs->RegisterBooleanPref(prefs::kHttpThrottlingEnabled, + false, + PrefService::UNSYNCABLE_PREF); } diff --git a/chrome/browser/net/predictor_api.cc b/chrome/browser/net/predictor_api.cc index 5cdf5c9..9f80f28 100644 --- a/chrome/browser/net/predictor_api.cc +++ b/chrome/browser/net/predictor_api.cc @@ -145,8 +145,10 @@ void DiscardInitialNavigationHistory() { } void RegisterUserPrefs(PrefService* user_prefs) { - user_prefs->RegisterListPref(prefs::kDnsPrefetchingStartupList); - user_prefs->RegisterListPref(prefs::kDnsPrefetchingHostReferralList); + user_prefs->RegisterListPref(prefs::kDnsPrefetchingStartupList, + PrefService::UNSYNCABLE_PREF); + user_prefs->RegisterListPref(prefs::kDnsPrefetchingHostReferralList, + PrefService::UNSYNCABLE_PREF); } // When enabled, we use the following instance to service all requests in the @@ -414,8 +416,10 @@ static void InitNetworkPredictor(TimeDelta max_dns_queue_delay, int current_version = local_state->GetInteger(prefs::kMultipleProfilePrefMigration); if ((current_version & browser::DNS_PREFS) == 0) { - local_state->RegisterListPref(prefs::kDnsStartupPrefetchList); - local_state->RegisterListPref(prefs::kDnsHostReferralList); + local_state->RegisterListPref(prefs::kDnsStartupPrefetchList, + PrefService::UNSYNCABLE_PREF); + local_state->RegisterListPref(prefs::kDnsHostReferralList, + PrefService::UNSYNCABLE_PREF); local_state->ClearPref(prefs::kDnsStartupPrefetchList); local_state->ClearPref(prefs::kDnsHostReferralList); local_state->SetInteger(prefs::kMultipleProfilePrefMigration, diff --git a/chrome/browser/net/pref_proxy_config_service.cc b/chrome/browser/net/pref_proxy_config_service.cc index f867923..a07a340 100644 --- a/chrome/browser/net/pref_proxy_config_service.cc +++ b/chrome/browser/net/pref_proxy_config_service.cc @@ -269,5 +269,7 @@ void PrefProxyConfigService::RegisterObservers() { // static void PrefProxyConfigService::RegisterPrefs(PrefService* pref_service) { DictionaryValue* default_settings = ProxyConfigDictionary::CreateSystem(); - pref_service->RegisterDictionaryPref(prefs::kProxy, default_settings); + pref_service->RegisterDictionaryPref(prefs::kProxy, + default_settings, + PrefService::UNSYNCABLE_PREF); } diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc index 71e385b..54ab554 100644 --- a/chrome/browser/net/ssl_config_service_manager_pref.cc +++ b/chrome/browser/net/ssl_config_service_manager_pref.cc @@ -125,15 +125,18 @@ void SSLConfigServiceManagerPref::RegisterPrefs(PrefService* prefs) { net::SSLConfig default_config; if (!prefs->FindPreference(prefs::kCertRevocationCheckingEnabled)) { prefs->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, - default_config.rev_checking_enabled); + default_config.rev_checking_enabled, + PrefService::UNSYNCABLE_PREF); } if (!prefs->FindPreference(prefs::kSSL3Enabled)) { prefs->RegisterBooleanPref(prefs::kSSL3Enabled, - default_config.ssl3_enabled); + default_config.ssl3_enabled, + PrefService::UNSYNCABLE_PREF); } if (!prefs->FindPreference(prefs::kTLS1Enabled)) { prefs->RegisterBooleanPref(prefs::kTLS1Enabled, - default_config.tls1_enabled); + default_config.tls1_enabled, + PrefService::UNSYNCABLE_PREF); } } |