| Index: components/sync/device_info/device_info_sync_bridge.cc
|
| diff --git a/components/sync/device_info/device_info_sync_bridge.cc b/components/sync/device_info/device_info_sync_bridge.cc
|
| index e1387abef361d7f0fcfff38b043161c3ef10810c..c762c909a3d6d0b96e4505b34fa15cb8861ce57c 100644
|
| --- a/components/sync/device_info/device_info_sync_bridge.cc
|
| +++ b/components/sync/device_info/device_info_sync_bridge.cc
|
| @@ -118,13 +118,6 @@ SyncError DeviceInfoSyncBridge::MergeSyncData(
|
| EntityDataMap entity_data_map) {
|
| DCHECK(has_provider_initialized_);
|
| DCHECK(change_processor()->IsTrackingMetadata());
|
| - const DeviceInfo* local_info =
|
| - local_device_info_provider_->GetLocalDeviceInfo();
|
| - // If our dependency was yanked out from beneath us, we cannot correctly
|
| - // handle this request, and all our data will be deleted soon.
|
| - if (local_info == nullptr) {
|
| - return SyncError();
|
| - }
|
|
|
| // Local data should typically be near empty, with the only possible value
|
| // corresponding to this device. This is because on signout all device info
|
| @@ -137,6 +130,8 @@ SyncError DeviceInfoSyncBridge::MergeSyncData(
|
| }
|
|
|
| bool has_changes = false;
|
| + const DeviceInfo* local_info =
|
| + local_device_info_provider_->GetLocalDeviceInfo();
|
| std::string local_guid = local_info->guid();
|
| std::unique_ptr<WriteBatch> batch = store_->CreateWriteBatch();
|
| for (const auto& kv : entity_data_map) {
|
| @@ -171,13 +166,6 @@ SyncError DeviceInfoSyncBridge::ApplySyncChanges(
|
| std::unique_ptr<MetadataChangeList> metadata_change_list,
|
| EntityChangeList entity_changes) {
|
| DCHECK(has_provider_initialized_);
|
| - const DeviceInfo* local_info =
|
| - local_device_info_provider_->GetLocalDeviceInfo();
|
| - // If our dependency was yanked out from beneath us, we cannot correctly
|
| - // handle this request, and all our data will be deleted soon.
|
| - if (local_info == nullptr) {
|
| - return SyncError();
|
| - }
|
|
|
| std::unique_ptr<WriteBatch> batch = store_->CreateWriteBatch();
|
| bool has_changes = false;
|
| @@ -185,7 +173,7 @@ SyncError DeviceInfoSyncBridge::ApplySyncChanges(
|
| const std::string guid = change.storage_key();
|
| // Each device is the authoritative source for itself, ignore any remote
|
| // changes that have our local cache guid.
|
| - if (guid == local_info->guid()) {
|
| + if (guid == local_device_info_provider_->GetLocalDeviceInfo()->guid()) {
|
| continue;
|
| }
|
|
|
| @@ -327,8 +315,6 @@ void DeviceInfoSyncBridge::OnProviderInitialized() {
|
| // should only need to give the processor metadata upon initialization. If
|
| // sync is disabled and enabled, our provider will try to retrigger this
|
| // event, but we do not want to send any more metadata to the processor.
|
| - // TODO(skym, crbug.com/672600): Handle re-initialization and start the pulse
|
| - // timer.
|
| subscription_.reset();
|
|
|
| has_provider_initialized_ = true;
|
| @@ -401,15 +387,6 @@ void DeviceInfoSyncBridge::ReconcileLocalAndStored() {
|
|
|
| const DeviceInfo* current_info =
|
| local_device_info_provider_->GetLocalDeviceInfo();
|
| - // Must ensure |pulse_timer_| is started even if sync is in the process of
|
| - // being disabled. TODO(skym, crbug.com/672600): Remove this timer Start(), as
|
| - // it should be started when the provider re-initializes instead.
|
| - if (current_info == nullptr) {
|
| - pulse_timer_.Start(FROM_HERE, DeviceInfoUtil::kPulseInterval,
|
| - base::Bind(&DeviceInfoSyncBridge::SendLocalData,
|
| - base::Unretained(this)));
|
| - return;
|
| - }
|
| auto iter = all_data_.find(current_info->guid());
|
|
|
| // Convert to DeviceInfo for Equals function.
|
|
|