Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/invalidations/invalidator_storage.h" | 5 #include "chrome/browser/sync/invalidations/invalidator_storage.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 97 : pref_service_(pref_service) { | 97 : pref_service_(pref_service) { |
| 98 // TODO(tim): Create a Mock instead of maintaining the if(!pref_service_) case | 98 // TODO(tim): Create a Mock instead of maintaining the if(!pref_service_) case |
| 99 // throughout this file. This is a problem now due to lack of injection at | 99 // throughout this file. This is a problem now due to lack of injection at |
| 100 // ProfileSyncService. Bug 130176. | 100 // ProfileSyncService. Bug 130176. |
| 101 if (pref_service_) { | 101 if (pref_service_) { |
| 102 pref_service_->RegisterListPref(prefs::kInvalidatorMaxInvalidationVersions, | 102 pref_service_->RegisterListPref(prefs::kInvalidatorMaxInvalidationVersions, |
| 103 PrefServiceSyncable::UNSYNCABLE_PREF); | 103 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 104 pref_service_->RegisterStringPref(prefs::kInvalidatorInvalidationState, | 104 pref_service_->RegisterStringPref(prefs::kInvalidatorInvalidationState, |
| 105 std::string(), | 105 std::string(), |
| 106 PrefServiceSyncable::UNSYNCABLE_PREF); | 106 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 107 pref_service_->RegisterStringPref(prefs::kInvalidatorInvalidatorClientId, | |
| 108 std::string(), | |
| 109 PrefServiceSyncable::UNSYNCABLE_PREF); | |
| 107 | 110 |
| 108 MigrateMaxInvalidationVersionsPref(); | 111 MigrateMaxInvalidationVersionsPref(); |
| 109 } | 112 } |
| 110 } | 113 } |
| 111 | 114 |
| 112 InvalidatorStorage::~InvalidatorStorage() { | 115 InvalidatorStorage::~InvalidatorStorage() { |
| 113 } | 116 } |
| 114 | 117 |
| 115 InvalidationStateMap InvalidatorStorage::GetAllInvalidationStates() const { | 118 InvalidationStateMap InvalidatorStorage::GetAllInvalidationStates() const { |
| 116 DCHECK(thread_checker_.CalledOnValidThread()); | 119 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 249 } | 252 } |
| 250 invalidation::ObjectId id; | 253 invalidation::ObjectId id; |
| 251 if (!syncer::RealModelTypeToObjectId(model_type, &id)) { | 254 if (!syncer::RealModelTypeToObjectId(model_type, &id)) { |
| 252 DLOG(WARNING) << "Invalid model type: " << model_type; | 255 DLOG(WARNING) << "Invalid model type: " << model_type; |
| 253 continue; | 256 continue; |
| 254 } | 257 } |
| 255 (*map)[id].version = max_version; | 258 (*map)[id].version = max_version; |
| 256 } | 259 } |
| 257 } | 260 } |
| 258 | 261 |
| 262 void InvalidatorStorage::SetInvalidatorClientId(const std::string& client_id) { | |
| 263 DCHECK(thread_checker_.CalledOnValidThread()); | |
| 264 pref_service_->SetString(prefs::kInvalidatorInvalidatorClientId, client_id); | |
| 265 } | |
| 266 | |
| 267 std::string InvalidatorStorage::GetInvalidatorClientId() const { | |
| 268 return pref_service_ ? | |
| 269 pref_service_->GetString(prefs::kInvalidatorInvalidatorClientId) : ""; | |
|
tim (not reviewing)
2013/02/05 20:04:33
nit - prefer std::string() to ""
rlarocque
2013/02/05 21:36:56
Done.
| |
| 270 } | |
| 271 | |
| 259 void InvalidatorStorage::SetBootstrapData(const std::string& data) { | 272 void InvalidatorStorage::SetBootstrapData(const std::string& data) { |
| 260 DCHECK(thread_checker_.CalledOnValidThread()); | 273 DCHECK(thread_checker_.CalledOnValidThread()); |
| 261 std::string base64_data; | 274 std::string base64_data; |
| 262 base::Base64Encode(data, &base64_data); | 275 base::Base64Encode(data, &base64_data); |
| 263 pref_service_->SetString(prefs::kInvalidatorInvalidationState, | 276 pref_service_->SetString(prefs::kInvalidatorInvalidationState, |
| 264 base64_data); | 277 base64_data); |
| 265 } | 278 } |
| 266 | 279 |
| 267 std::string InvalidatorStorage::GetBootstrapData() const { | 280 std::string InvalidatorStorage::GetBootstrapData() const { |
| 268 std::string base64_data(pref_service_ ? | 281 std::string base64_data(pref_service_ ? |
| 269 pref_service_->GetString(prefs::kInvalidatorInvalidationState) : ""); | 282 pref_service_->GetString(prefs::kInvalidatorInvalidationState) : ""); |
| 270 std::string data; | 283 std::string data; |
| 271 base::Base64Decode(base64_data, &data); | 284 base::Base64Decode(base64_data, &data); |
| 272 return data; | 285 return data; |
| 273 } | 286 } |
| 274 | 287 |
| 275 void InvalidatorStorage::Clear() { | 288 void InvalidatorStorage::Clear() { |
| 276 DCHECK(thread_checker_.CalledOnValidThread()); | 289 DCHECK(thread_checker_.CalledOnValidThread()); |
| 277 pref_service_->ClearPref(prefs::kInvalidatorMaxInvalidationVersions); | 290 pref_service_->ClearPref(prefs::kInvalidatorMaxInvalidationVersions); |
| 291 pref_service_->ClearPref(prefs::kInvalidatorInvalidatorClientId); | |
| 278 pref_service_->ClearPref(prefs::kInvalidatorInvalidationState); | 292 pref_service_->ClearPref(prefs::kInvalidatorInvalidationState); |
| 279 } | 293 } |
| 280 | 294 |
| 281 void InvalidatorStorage::GenerateAckHandles( | 295 void InvalidatorStorage::GenerateAckHandles( |
| 282 const syncer::ObjectIdSet& ids, | 296 const syncer::ObjectIdSet& ids, |
| 283 const scoped_refptr<base::TaskRunner>& task_runner, | 297 const scoped_refptr<base::TaskRunner>& task_runner, |
| 284 const base::Callback<void(const syncer::AckHandleMap&)> callback) { | 298 const base::Callback<void(const syncer::AckHandleMap&)> callback) { |
| 285 DCHECK(thread_checker_.CalledOnValidThread()); | 299 DCHECK(thread_checker_.CalledOnValidThread()); |
| 286 CHECK(pref_service_); | 300 CHECK(pref_service_); |
| 287 InvalidationStateMap state_map = GetAllInvalidationStates(); | 301 InvalidationStateMap state_map = GetAllInvalidationStates(); |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 315 return; | 329 return; |
| 316 it->second.current = ack_handle; | 330 it->second.current = ack_handle; |
| 317 | 331 |
| 318 base::ListValue state_map_list; | 332 base::ListValue state_map_list; |
| 319 SerializeToList(state_map, &state_map_list); | 333 SerializeToList(state_map, &state_map_list); |
| 320 pref_service_->Set(prefs::kInvalidatorMaxInvalidationVersions, | 334 pref_service_->Set(prefs::kInvalidatorMaxInvalidationVersions, |
| 321 state_map_list); | 335 state_map_list); |
| 322 } | 336 } |
| 323 | 337 |
| 324 } // namespace browser_sync | 338 } // namespace browser_sync |
| OLD | NEW |