Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(460)

Side by Side Diff: chrome/browser/sync/sync_prefs.cc

Issue 10696087: [Sync] Move ModelType and related classes to 'syncer' namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sort headers, update copyrights Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/sync/sync_prefs.h ('k') | chrome/browser/sync/sync_prefs_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/sync_prefs.h" 5 #include "chrome/browser/sync/sync_prefs.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); 112 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
113 } 113 }
114 114
115 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { 115 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) {
116 DCHECK(CalledOnValidThread()); 116 DCHECK(CalledOnValidThread());
117 CHECK(pref_service_); 117 CHECK(pref_service_);
118 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, 118 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced,
119 keep_everything_synced); 119 keep_everything_synced);
120 } 120 }
121 121
122 syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes( 122 syncer::ModelTypeSet SyncPrefs::GetPreferredDataTypes(
123 syncable::ModelTypeSet registered_types) const { 123 syncer::ModelTypeSet registered_types) const {
124 DCHECK(CalledOnValidThread()); 124 DCHECK(CalledOnValidThread());
125 if (!pref_service_) { 125 if (!pref_service_) {
126 return syncable::ModelTypeSet(); 126 return syncer::ModelTypeSet();
127 } 127 }
128 128
129 // First remove any datatypes that are inconsistent with the current policies 129 // First remove any datatypes that are inconsistent with the current policies
130 // on the client (so that "keep everything synced" doesn't include them). 130 // on the client (so that "keep everything synced" doesn't include them).
131 if (pref_service_->HasPrefPath(prefs::kSavingBrowserHistoryDisabled) && 131 if (pref_service_->HasPrefPath(prefs::kSavingBrowserHistoryDisabled) &&
132 pref_service_->GetBoolean(prefs::kSavingBrowserHistoryDisabled)) { 132 pref_service_->GetBoolean(prefs::kSavingBrowserHistoryDisabled)) {
133 registered_types.Remove(syncable::TYPED_URLS); 133 registered_types.Remove(syncer::TYPED_URLS);
134 } 134 }
135 135
136 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) { 136 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) {
137 return registered_types; 137 return registered_types;
138 } 138 }
139 139
140 syncable::ModelTypeSet preferred_types; 140 syncer::ModelTypeSet preferred_types;
141 for (syncable::ModelTypeSet::Iterator it = registered_types.First(); 141 for (syncer::ModelTypeSet::Iterator it = registered_types.First();
142 it.Good(); it.Inc()) { 142 it.Good(); it.Inc()) {
143 if (GetDataTypePreferred(it.Get())) { 143 if (GetDataTypePreferred(it.Get())) {
144 preferred_types.Put(it.Get()); 144 preferred_types.Put(it.Get());
145 } 145 }
146 } 146 }
147 return ResolvePrefGroups(registered_types, preferred_types); 147 return ResolvePrefGroups(registered_types, preferred_types);
148 } 148 }
149 149
150 void SyncPrefs::SetPreferredDataTypes( 150 void SyncPrefs::SetPreferredDataTypes(
151 syncable::ModelTypeSet registered_types, 151 syncer::ModelTypeSet registered_types,
152 syncable::ModelTypeSet preferred_types) { 152 syncer::ModelTypeSet preferred_types) {
153 DCHECK(CalledOnValidThread()); 153 DCHECK(CalledOnValidThread());
154 CHECK(pref_service_); 154 CHECK(pref_service_);
155 DCHECK(registered_types.HasAll(preferred_types)); 155 DCHECK(registered_types.HasAll(preferred_types));
156 preferred_types = ResolvePrefGroups(registered_types, preferred_types); 156 preferred_types = ResolvePrefGroups(registered_types, preferred_types);
157 for (syncable::ModelTypeSet::Iterator i = registered_types.First(); 157 for (syncer::ModelTypeSet::Iterator i = registered_types.First();
158 i.Good(); i.Inc()) { 158 i.Good(); i.Inc()) {
159 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); 159 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get()));
160 } 160 }
161 } 161 }
162 162
163 bool SyncPrefs::IsManaged() const { 163 bool SyncPrefs::IsManaged() const {
164 DCHECK(CalledOnValidThread()); 164 DCHECK(CalledOnValidThread());
165 return pref_service_ && pref_service_->GetBoolean(prefs::kSyncManaged); 165 return pref_service_ && pref_service_->GetBoolean(prefs::kSyncManaged);
166 } 166 }
167 167
(...skipping 15 matching lines...) Expand all
183 return pref_service_ ? 183 return pref_service_ ?
184 pref_service_->GetString(prefs::kSyncSpareBootstrapToken) : ""; 184 pref_service_->GetString(prefs::kSyncSpareBootstrapToken) : "";
185 } 185 }
186 186
187 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) { 187 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) {
188 DCHECK(CalledOnValidThread()); 188 DCHECK(CalledOnValidThread());
189 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token); 189 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token);
190 } 190 }
191 #endif 191 #endif
192 192
193 void SyncPrefs::AcknowledgeSyncedTypes( 193 void SyncPrefs::AcknowledgeSyncedTypes(syncer::ModelTypeSet types) {
194 syncable::ModelTypeSet types) {
195 DCHECK(CalledOnValidThread()); 194 DCHECK(CalledOnValidThread());
196 CHECK(pref_service_); 195 CHECK(pref_service_);
197 // Add the types to the current set of acknowledged 196 // Add the types to the current set of acknowledged
198 // types, and then store the resulting set in prefs. 197 // types, and then store the resulting set in prefs.
199 const syncable::ModelTypeSet acknowledged_types = 198 const syncer::ModelTypeSet acknowledged_types =
200 Union(types, 199 Union(types,
201 syncable::ModelTypeSetFromValue( 200 syncer::ModelTypeSetFromValue(
202 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes))); 201 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)));
203 202
204 scoped_ptr<ListValue> value( 203 scoped_ptr<ListValue> value(
205 syncable::ModelTypeSetToValue(acknowledged_types)); 204 syncer::ModelTypeSetToValue(acknowledged_types));
206 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value); 205 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value);
207 } 206 }
208 207
209 void SyncPrefs::Observe(int type, 208 void SyncPrefs::Observe(int type,
210 const content::NotificationSource& source, 209 const content::NotificationSource& source,
211 const content::NotificationDetails& details) { 210 const content::NotificationDetails& details) {
212 DCHECK(CalledOnValidThread()); 211 DCHECK(CalledOnValidThread());
213 DCHECK(content::Source<PrefService>(pref_service_) == source); 212 DCHECK(content::Source<PrefService>(pref_service_) == source);
214 switch (type) { 213 switch (type) {
215 case chrome::NOTIFICATION_PREF_CHANGED: { 214 case chrome::NOTIFICATION_PREF_CHANGED: {
(...skipping 10 matching lines...) Expand all
226 break; 225 break;
227 } 226 }
228 } 227 }
229 228
230 void SyncPrefs::SetManagedForTest(bool is_managed) { 229 void SyncPrefs::SetManagedForTest(bool is_managed) {
231 DCHECK(CalledOnValidThread()); 230 DCHECK(CalledOnValidThread());
232 CHECK(pref_service_); 231 CHECK(pref_service_);
233 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); 232 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed);
234 } 233 }
235 234
236 syncable::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { 235 syncer::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const {
237 DCHECK(CalledOnValidThread()); 236 DCHECK(CalledOnValidThread());
238 if (!pref_service_) { 237 if (!pref_service_) {
239 return syncable::ModelTypeSet(); 238 return syncer::ModelTypeSet();
240 } 239 }
241 return syncable::ModelTypeSetFromValue( 240 return syncer::ModelTypeSetFromValue(
242 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)); 241 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes));
243 } 242 }
244 243
245 namespace { 244 namespace {
246 245
247 const char* GetPrefNameForDataType(syncable::ModelType data_type) { 246 const char* GetPrefNameForDataType(syncer::ModelType data_type) {
248 switch (data_type) { 247 switch (data_type) {
249 case syncable::BOOKMARKS: 248 case syncer::BOOKMARKS:
250 return prefs::kSyncBookmarks; 249 return prefs::kSyncBookmarks;
251 case syncable::PASSWORDS: 250 case syncer::PASSWORDS:
252 return prefs::kSyncPasswords; 251 return prefs::kSyncPasswords;
253 case syncable::PREFERENCES: 252 case syncer::PREFERENCES:
254 return prefs::kSyncPreferences; 253 return prefs::kSyncPreferences;
255 case syncable::AUTOFILL: 254 case syncer::AUTOFILL:
256 return prefs::kSyncAutofill; 255 return prefs::kSyncAutofill;
257 case syncable::AUTOFILL_PROFILE: 256 case syncer::AUTOFILL_PROFILE:
258 return prefs::kSyncAutofillProfile; 257 return prefs::kSyncAutofillProfile;
259 case syncable::THEMES: 258 case syncer::THEMES:
260 return prefs::kSyncThemes; 259 return prefs::kSyncThemes;
261 case syncable::TYPED_URLS: 260 case syncer::TYPED_URLS:
262 return prefs::kSyncTypedUrls; 261 return prefs::kSyncTypedUrls;
263 case syncable::EXTENSION_SETTINGS: 262 case syncer::EXTENSION_SETTINGS:
264 return prefs::kSyncExtensionSettings; 263 return prefs::kSyncExtensionSettings;
265 case syncable::EXTENSIONS: 264 case syncer::EXTENSIONS:
266 return prefs::kSyncExtensions; 265 return prefs::kSyncExtensions;
267 case syncable::APP_SETTINGS: 266 case syncer::APP_SETTINGS:
268 return prefs::kSyncAppSettings; 267 return prefs::kSyncAppSettings;
269 case syncable::APPS: 268 case syncer::APPS:
270 return prefs::kSyncApps; 269 return prefs::kSyncApps;
271 case syncable::SEARCH_ENGINES: 270 case syncer::SEARCH_ENGINES:
272 return prefs::kSyncSearchEngines; 271 return prefs::kSyncSearchEngines;
273 case syncable::SESSIONS: 272 case syncer::SESSIONS:
274 return prefs::kSyncSessions; 273 return prefs::kSyncSessions;
275 case syncable::APP_NOTIFICATIONS: 274 case syncer::APP_NOTIFICATIONS:
276 return prefs::kSyncAppNotifications; 275 return prefs::kSyncAppNotifications;
277 default: 276 default:
278 break; 277 break;
279 } 278 }
280 NOTREACHED(); 279 NOTREACHED();
281 return NULL; 280 return NULL;
282 } 281 }
283 282
284 } // namespace 283 } // namespace
285 284
286 void SyncPrefs::RegisterPrefGroups() { 285 void SyncPrefs::RegisterPrefGroups() {
287 pref_groups_[syncable::APPS].Put(syncable::APP_NOTIFICATIONS); 286 pref_groups_[syncer::APPS].Put(syncer::APP_NOTIFICATIONS);
288 pref_groups_[syncable::APPS].Put(syncable::APP_SETTINGS); 287 pref_groups_[syncer::APPS].Put(syncer::APP_SETTINGS);
289 288
290 pref_groups_[syncable::AUTOFILL].Put(syncable::AUTOFILL_PROFILE); 289 pref_groups_[syncer::AUTOFILL].Put(syncer::AUTOFILL_PROFILE);
291 290
292 pref_groups_[syncable::EXTENSIONS].Put(syncable::EXTENSION_SETTINGS); 291 pref_groups_[syncer::EXTENSIONS].Put(syncer::EXTENSION_SETTINGS);
293 292
294 pref_groups_[syncable::PREFERENCES].Put(syncable::SEARCH_ENGINES); 293 pref_groups_[syncer::PREFERENCES].Put(syncer::SEARCH_ENGINES);
295 } 294 }
296 295
297 void SyncPrefs::RegisterPreferences() { 296 void SyncPrefs::RegisterPreferences() {
298 DCHECK(CalledOnValidThread()); 297 DCHECK(CalledOnValidThread());
299 CHECK(pref_service_); 298 CHECK(pref_service_);
300 if (pref_service_->FindPreference(prefs::kSyncLastSyncedTime)) { 299 if (pref_service_->FindPreference(prefs::kSyncLastSyncedTime)) {
301 return; 300 return;
302 } 301 }
303 302
304 pref_service_->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, 303 pref_service_->RegisterBooleanPref(prefs::kSyncHasSetupCompleted,
(...skipping 15 matching lines...) Expand all
320 #else 319 #else
321 bool enable_by_default = 320 bool enable_by_default =
322 !pref_service_->HasPrefPath(prefs::kSyncHasSetupCompleted); 321 !pref_service_->HasPrefPath(prefs::kSyncHasSetupCompleted);
323 #endif 322 #endif
324 323
325 pref_service_->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced, 324 pref_service_->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced,
326 enable_by_default, 325 enable_by_default,
327 PrefService::UNSYNCABLE_PREF); 326 PrefService::UNSYNCABLE_PREF);
328 327
329 // Treat bookmarks specially. 328 // Treat bookmarks specially.
330 RegisterDataTypePreferredPref(syncable::BOOKMARKS, true); 329 RegisterDataTypePreferredPref(syncer::BOOKMARKS, true);
331 for (int i = syncable::PREFERENCES; i < syncable::MODEL_TYPE_COUNT; ++i) { 330 for (int i = syncer::PREFERENCES; i < syncer::MODEL_TYPE_COUNT; ++i) {
332 const syncable::ModelType type = syncable::ModelTypeFromInt(i); 331 const syncer::ModelType type = syncer::ModelTypeFromInt(i);
333 // Also treat nigori specially. 332 // Also treat nigori specially.
334 if (type == syncable::NIGORI) { 333 if (type == syncer::NIGORI) {
335 continue; 334 continue;
336 } 335 }
337 RegisterDataTypePreferredPref(type, enable_by_default); 336 RegisterDataTypePreferredPref(type, enable_by_default);
338 } 337 }
339 338
340 pref_service_->RegisterBooleanPref(prefs::kSyncManaged, 339 pref_service_->RegisterBooleanPref(prefs::kSyncManaged,
341 false, 340 false,
342 PrefService::UNSYNCABLE_PREF); 341 PrefService::UNSYNCABLE_PREF);
343 pref_service_->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken, 342 pref_service_->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken,
344 "", 343 "",
345 PrefService::UNSYNCABLE_PREF); 344 PrefService::UNSYNCABLE_PREF);
346 #if defined(OS_CHROMEOS) 345 #if defined(OS_CHROMEOS)
347 pref_service_->RegisterStringPref(prefs::kSyncSpareBootstrapToken, 346 pref_service_->RegisterStringPref(prefs::kSyncSpareBootstrapToken,
348 "", 347 "",
349 PrefService::UNSYNCABLE_PREF); 348 PrefService::UNSYNCABLE_PREF);
350 #endif 349 #endif
351 350
352 // We will start prompting people about new data types after the launch of 351 // We will start prompting people about new data types after the launch of
353 // SESSIONS - all previously launched data types are treated as if they are 352 // SESSIONS - all previously launched data types are treated as if they are
354 // already acknowledged. 353 // already acknowledged.
355 syncable::ModelTypeSet model_set; 354 syncer::ModelTypeSet model_set;
356 model_set.Put(syncable::BOOKMARKS); 355 model_set.Put(syncer::BOOKMARKS);
357 model_set.Put(syncable::PREFERENCES); 356 model_set.Put(syncer::PREFERENCES);
358 model_set.Put(syncable::PASSWORDS); 357 model_set.Put(syncer::PASSWORDS);
359 model_set.Put(syncable::AUTOFILL_PROFILE); 358 model_set.Put(syncer::AUTOFILL_PROFILE);
360 model_set.Put(syncable::AUTOFILL); 359 model_set.Put(syncer::AUTOFILL);
361 model_set.Put(syncable::THEMES); 360 model_set.Put(syncer::THEMES);
362 model_set.Put(syncable::EXTENSIONS); 361 model_set.Put(syncer::EXTENSIONS);
363 model_set.Put(syncable::NIGORI); 362 model_set.Put(syncer::NIGORI);
364 model_set.Put(syncable::SEARCH_ENGINES); 363 model_set.Put(syncer::SEARCH_ENGINES);
365 model_set.Put(syncable::APPS); 364 model_set.Put(syncer::APPS);
366 model_set.Put(syncable::TYPED_URLS); 365 model_set.Put(syncer::TYPED_URLS);
367 model_set.Put(syncable::SESSIONS); 366 model_set.Put(syncer::SESSIONS);
368 pref_service_->RegisterListPref(prefs::kSyncAcknowledgedSyncTypes, 367 pref_service_->RegisterListPref(prefs::kSyncAcknowledgedSyncTypes,
369 syncable::ModelTypeSetToValue(model_set), 368 syncer::ModelTypeSetToValue(model_set),
370 PrefService::UNSYNCABLE_PREF); 369 PrefService::UNSYNCABLE_PREF);
371 } 370 }
372 371
373 void SyncPrefs::RegisterDataTypePreferredPref(syncable::ModelType type, 372 void SyncPrefs::RegisterDataTypePreferredPref(syncer::ModelType type,
374 bool is_preferred) { 373 bool is_preferred) {
375 DCHECK(CalledOnValidThread()); 374 DCHECK(CalledOnValidThread());
376 CHECK(pref_service_); 375 CHECK(pref_service_);
377 const char* pref_name = GetPrefNameForDataType(type); 376 const char* pref_name = GetPrefNameForDataType(type);
378 if (!pref_name) { 377 if (!pref_name) {
379 NOTREACHED(); 378 NOTREACHED();
380 return; 379 return;
381 } 380 }
382 pref_service_->RegisterBooleanPref(pref_name, is_preferred, 381 pref_service_->RegisterBooleanPref(pref_name, is_preferred,
383 PrefService::UNSYNCABLE_PREF); 382 PrefService::UNSYNCABLE_PREF);
384 } 383 }
385 384
386 bool SyncPrefs::GetDataTypePreferred(syncable::ModelType type) const { 385 bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const {
387 DCHECK(CalledOnValidThread()); 386 DCHECK(CalledOnValidThread());
388 if (!pref_service_) { 387 if (!pref_service_) {
389 return false; 388 return false;
390 } 389 }
391 const char* pref_name = GetPrefNameForDataType(type); 390 const char* pref_name = GetPrefNameForDataType(type);
392 if (!pref_name) { 391 if (!pref_name) {
393 NOTREACHED(); 392 NOTREACHED();
394 return false; 393 return false;
395 } 394 }
396 395
397 return pref_service_->GetBoolean(pref_name); 396 return pref_service_->GetBoolean(pref_name);
398 } 397 }
399 398
400 void SyncPrefs::SetDataTypePreferred( 399 void SyncPrefs::SetDataTypePreferred(
401 syncable::ModelType type, bool is_preferred) { 400 syncer::ModelType type, bool is_preferred) {
402 DCHECK(CalledOnValidThread()); 401 DCHECK(CalledOnValidThread());
403 CHECK(pref_service_); 402 CHECK(pref_service_);
404 const char* pref_name = GetPrefNameForDataType(type); 403 const char* pref_name = GetPrefNameForDataType(type);
405 if (!pref_name) { 404 if (!pref_name) {
406 NOTREACHED(); 405 NOTREACHED();
407 return; 406 return;
408 } 407 }
409 pref_service_->SetBoolean(pref_name, is_preferred); 408 pref_service_->SetBoolean(pref_name, is_preferred);
410 } 409 }
411 410
412 syncable::ModelTypeSet SyncPrefs::ResolvePrefGroups( 411 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups(
413 syncable::ModelTypeSet registered_types, 412 syncer::ModelTypeSet registered_types,
414 syncable::ModelTypeSet types) const { 413 syncer::ModelTypeSet types) const {
415 DCHECK(registered_types.HasAll(types)); 414 DCHECK(registered_types.HasAll(types));
416 syncable::ModelTypeSet types_with_groups = types; 415 syncer::ModelTypeSet types_with_groups = types;
417 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); 416 for (PrefGroupsMap::const_iterator i = pref_groups_.begin();
418 i != pref_groups_.end(); ++i) { 417 i != pref_groups_.end(); ++i) {
419 if (types.Has(i->first)) 418 if (types.Has(i->first))
420 types_with_groups.PutAll(i->second); 419 types_with_groups.PutAll(i->second);
421 else 420 else
422 types_with_groups.RemoveAll(i->second); 421 types_with_groups.RemoveAll(i->second);
423 } 422 }
424 types_with_groups.RetainAll(registered_types); 423 types_with_groups.RetainAll(registered_types);
425 return types_with_groups; 424 return types_with_groups;
426 } 425 }
427 426
428 } // namespace browser_sync 427 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/sync_prefs.h ('k') | chrome/browser/sync/sync_prefs_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698