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

Side by Side Diff: components/sync/device_info/device_info_service.cc

Issue 2256733004: Re-write many calls to WrapUnique() with MakeUnique() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/sync/device_info/device_info_service.h" 5 #include "components/sync/device_info/device_info_service.h"
6 6
7 #include <set> 7 #include <set>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 } 67 }
68 68
69 callback.Run(base::Bind(&DeviceInfoService::OnStoreCreated, 69 callback.Run(base::Bind(&DeviceInfoService::OnStoreCreated,
70 weak_factory_.GetWeakPtr())); 70 weak_factory_.GetWeakPtr()));
71 } 71 }
72 72
73 DeviceInfoService::~DeviceInfoService() {} 73 DeviceInfoService::~DeviceInfoService() {}
74 74
75 std::unique_ptr<MetadataChangeList> 75 std::unique_ptr<MetadataChangeList>
76 DeviceInfoService::CreateMetadataChangeList() { 76 DeviceInfoService::CreateMetadataChangeList() {
77 return base::WrapUnique(new SimpleMetadataChangeList()); 77 return base::MakeUnique<SimpleMetadataChangeList>();
78 } 78 }
79 79
80 SyncError DeviceInfoService::MergeSyncData( 80 SyncError DeviceInfoService::MergeSyncData(
81 std::unique_ptr<MetadataChangeList> metadata_change_list, 81 std::unique_ptr<MetadataChangeList> metadata_change_list,
82 EntityDataMap entity_data_map) { 82 EntityDataMap entity_data_map) {
83 DCHECK(has_provider_initialized_); 83 DCHECK(has_provider_initialized_);
84 DCHECK(has_metadata_loaded_); 84 DCHECK(has_metadata_loaded_);
85 DCHECK(change_processor()); 85 DCHECK(change_processor());
86 86
87 // Local data should typically be near empty, with the only possible value 87 // Local data should typically be near empty, with the only possible value
(...skipping 22 matching lines...) Expand all
110 } else { 110 } else {
111 // This device is valid right now and this entry is about to be 111 // This device is valid right now and this entry is about to be
112 // committed, use this as an opportunity to refresh the timestamp. 112 // committed, use this as an opportunity to refresh the timestamp.
113 all_data_[local_guid]->set_last_updated_timestamp( 113 all_data_[local_guid]->set_last_updated_timestamp(
114 syncer::TimeToProtoTime(Time::Now())); 114 syncer::TimeToProtoTime(Time::Now()));
115 } 115 }
116 } else { 116 } else {
117 // Remote data wins conflicts. 117 // Remote data wins conflicts.
118 local_guids_to_put.erase(specifics.cache_guid()); 118 local_guids_to_put.erase(specifics.cache_guid());
119 has_changes = true; 119 has_changes = true;
120 StoreSpecifics(base::WrapUnique(new DeviceInfoSpecifics(specifics)), 120 StoreSpecifics(base::MakeUnique<DeviceInfoSpecifics>(specifics),
121 batch.get()); 121 batch.get());
122 } 122 }
123 } 123 }
124 124
125 for (const std::string& guid : local_guids_to_put) { 125 for (const std::string& guid : local_guids_to_put) {
126 change_processor()->Put(guid, CopyToEntityData(*all_data_[guid]), 126 change_processor()->Put(guid, CopyToEntityData(*all_data_[guid]),
127 metadata_change_list.get()); 127 metadata_change_list.get());
128 } 128 }
129 129
130 CommitAndNotify(std::move(batch), std::move(metadata_change_list), 130 CommitAndNotify(std::move(batch), std::move(metadata_change_list),
(...skipping 16 matching lines...) Expand all
147 if (guid == local_device_info_provider_->GetLocalDeviceInfo()->guid()) { 147 if (guid == local_device_info_provider_->GetLocalDeviceInfo()->guid()) {
148 continue; 148 continue;
149 } 149 }
150 150
151 if (change.type() == EntityChange::ACTION_DELETE) { 151 if (change.type() == EntityChange::ACTION_DELETE) {
152 has_changes |= DeleteSpecifics(guid, batch.get()); 152 has_changes |= DeleteSpecifics(guid, batch.get());
153 } else { 153 } else {
154 const DeviceInfoSpecifics& specifics = 154 const DeviceInfoSpecifics& specifics =
155 change.data().specifics.device_info(); 155 change.data().specifics.device_info();
156 DCHECK(guid == specifics.cache_guid()); 156 DCHECK(guid == specifics.cache_guid());
157 StoreSpecifics(base::WrapUnique(new DeviceInfoSpecifics(specifics)), 157 StoreSpecifics(base::MakeUnique<DeviceInfoSpecifics>(specifics),
158 batch.get()); 158 batch.get());
159 has_changes = true; 159 has_changes = true;
160 } 160 }
161 } 161 }
162 162
163 CommitAndNotify(std::move(batch), std::move(metadata_change_list), 163 CommitAndNotify(std::move(batch), std::move(metadata_change_list),
164 has_changes); 164 has_changes);
165 return SyncError(); 165 return SyncError();
166 } 166 }
167 167
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 205
206 void DeviceInfoService::OnChangeProcessorSet() { 206 void DeviceInfoService::OnChangeProcessorSet() {
207 // We've recieved a new processor that needs metadata. If we're still in the 207 // We've recieved a new processor that needs metadata. If we're still in the
208 // process of loading data and/or metadata, then |has_metadata_loaded_| is 208 // process of loading data and/or metadata, then |has_metadata_loaded_| is
209 // false and we'll wait for those async reads to happen. If we've already 209 // false and we'll wait for those async reads to happen. If we've already
210 // loaded metadata and then subsequently we get a new processor, we must not 210 // loaded metadata and then subsequently we get a new processor, we must not
211 // have created the processor ourselves because we had no metadata. So there 211 // have created the processor ourselves because we had no metadata. So there
212 // must not be any metadata on disk. 212 // must not be any metadata on disk.
213 if (has_metadata_loaded_) { 213 if (has_metadata_loaded_) {
214 change_processor()->OnMetadataLoaded(SyncError(), 214 change_processor()->OnMetadataLoaded(SyncError(),
215 base::WrapUnique(new MetadataBatch())); 215 base::MakeUnique<MetadataBatch>());
216 ReconcileLocalAndStored(); 216 ReconcileLocalAndStored();
217 } 217 }
218 } 218 }
219 219
220 bool DeviceInfoService::IsSyncing() const { 220 bool DeviceInfoService::IsSyncing() const {
221 return !all_data_.empty(); 221 return !all_data_.empty();
222 } 222 }
223 223
224 std::unique_ptr<DeviceInfo> DeviceInfoService::GetDeviceInfo( 224 std::unique_ptr<DeviceInfo> DeviceInfoService::GetDeviceInfo(
225 const std::string& client_id) const { 225 const std::string& client_id) const {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 specifics->set_chrome_version(info.chrome_version()); 268 specifics->set_chrome_version(info.chrome_version());
269 specifics->set_sync_user_agent(info.sync_user_agent()); 269 specifics->set_sync_user_agent(info.sync_user_agent());
270 specifics->set_device_type(info.device_type()); 270 specifics->set_device_type(info.device_type());
271 specifics->set_signin_scoped_device_id(info.signin_scoped_device_id()); 271 specifics->set_signin_scoped_device_id(info.signin_scoped_device_id());
272 return specifics; 272 return specifics;
273 } 273 }
274 274
275 // Static. 275 // Static.
276 std::unique_ptr<DeviceInfo> DeviceInfoService::CopyToModel( 276 std::unique_ptr<DeviceInfo> DeviceInfoService::CopyToModel(
277 const DeviceInfoSpecifics& specifics) { 277 const DeviceInfoSpecifics& specifics) {
278 return base::WrapUnique(new DeviceInfo( 278 return base::MakeUnique<DeviceInfo>(
279 specifics.cache_guid(), specifics.client_name(), 279 specifics.cache_guid(), specifics.client_name(),
280 specifics.chrome_version(), specifics.sync_user_agent(), 280 specifics.chrome_version(), specifics.sync_user_agent(),
281 specifics.device_type(), specifics.signin_scoped_device_id())); 281 specifics.device_type(), specifics.signin_scoped_device_id());
282 } 282 }
283 283
284 // Static. 284 // Static.
285 std::unique_ptr<EntityData> DeviceInfoService::CopyToEntityData( 285 std::unique_ptr<EntityData> DeviceInfoService::CopyToEntityData(
286 const DeviceInfoSpecifics& specifics) { 286 const DeviceInfoSpecifics& specifics) {
287 std::unique_ptr<EntityData> entity_data(new EntityData()); 287 std::unique_ptr<EntityData> entity_data(new EntityData());
288 *entity_data->specifics.mutable_device_info() = specifics; 288 *entity_data->specifics.mutable_device_info() = specifics;
289 entity_data->non_unique_name = specifics.client_name(); 289 entity_data->non_unique_name = specifics.client_name();
290 return entity_data; 290 return entity_data;
291 } 291 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 void DeviceInfoService::OnReadAllData(Result result, 335 void DeviceInfoService::OnReadAllData(Result result,
336 std::unique_ptr<RecordList> record_list) { 336 std::unique_ptr<RecordList> record_list) {
337 if (result != Result::SUCCESS) { 337 if (result != Result::SUCCESS) {
338 ReportStartupErrorToSync("Initial load of data failed."); 338 ReportStartupErrorToSync("Initial load of data failed.");
339 // TODO(skym, crbug.com/582460): Handle unrecoverable initialization 339 // TODO(skym, crbug.com/582460): Handle unrecoverable initialization
340 // failure. 340 // failure.
341 return; 341 return;
342 } 342 }
343 343
344 for (const Record& r : *record_list.get()) { 344 for (const Record& r : *record_list.get()) {
345 std::unique_ptr<DeviceInfoSpecifics> specifics( 345 std::unique_ptr<DeviceInfoSpecifics> specifics =
346 base::WrapUnique(new DeviceInfoSpecifics())); 346 base::MakeUnique<DeviceInfoSpecifics>();
347 if (specifics->ParseFromString(r.value)) { 347 if (specifics->ParseFromString(r.value)) {
348 all_data_[specifics->cache_guid()] = std::move(specifics); 348 all_data_[specifics->cache_guid()] = std::move(specifics);
349 } else { 349 } else {
350 ReportStartupErrorToSync("Failed to deserialize specifics."); 350 ReportStartupErrorToSync("Failed to deserialize specifics.");
351 // TODO(skym, crbug.com/582460): Handle unrecoverable initialization 351 // TODO(skym, crbug.com/582460): Handle unrecoverable initialization
352 // failure. 352 // failure.
353 } 353 }
354 } 354 }
355 355
356 has_data_loaded_ = true; 356 has_data_loaded_ = true;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 Time DeviceInfoService::GetLastUpdateTime( 529 Time DeviceInfoService::GetLastUpdateTime(
530 const DeviceInfoSpecifics& specifics) { 530 const DeviceInfoSpecifics& specifics) {
531 if (specifics.has_last_updated_timestamp()) { 531 if (specifics.has_last_updated_timestamp()) {
532 return syncer::ProtoTimeToTime(specifics.last_updated_timestamp()); 532 return syncer::ProtoTimeToTime(specifics.last_updated_timestamp());
533 } else { 533 } else {
534 return Time(); 534 return Time();
535 } 535 }
536 } 536 }
537 537
538 } // namespace sync_driver_v2 538 } // namespace sync_driver_v2
OLDNEW
« no previous file with comments | « components/sync/core_impl/test/fake_sync_manager.cc ('k') | components/sync/device_info/device_info_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698