| Index: components/sync/device_info/device_info_data_type_controller.cc
|
| diff --git a/components/sync/device_info/device_info_data_type_controller.cc b/components/sync/device_info/device_info_data_type_controller.cc
|
| index e0e4b859ce832394f811c10a881644c48fdd9624..ef58cff95395781a7692b533739827033e2dee76 100644
|
| --- a/components/sync/device_info/device_info_data_type_controller.cc
|
| +++ b/components/sync/device_info/device_info_data_type_controller.cc
|
| @@ -10,35 +10,35 @@
|
| namespace sync_driver {
|
|
|
| DeviceInfoDataTypeController::DeviceInfoDataTypeController(
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
|
| - const base::Closure& error_callback,
|
| + const base::Closure& dump_stack,
|
| SyncClient* sync_client,
|
| LocalDeviceInfoProvider* local_device_info_provider)
|
| - : UIDataTypeController(ui_thread,
|
| - error_callback,
|
| - syncer::DEVICE_INFO,
|
| - sync_client),
|
| + : UIDataTypeController(syncer::DEVICE_INFO, dump_stack, sync_client),
|
| local_device_info_provider_(local_device_info_provider) {}
|
|
|
| DeviceInfoDataTypeController::~DeviceInfoDataTypeController() {}
|
|
|
| bool DeviceInfoDataTypeController::StartModels() {
|
| + DCHECK(CalledOnValidThread());
|
| // Start the data type as soon as the local device info gets available.
|
| if (local_device_info_provider_->GetLocalDeviceInfo()) {
|
| return true;
|
| }
|
|
|
| subscription_ = local_device_info_provider_->RegisterOnInitializedCallback(
|
| - base::Bind(&DeviceInfoDataTypeController::OnLocalDeviceInfoLoaded, this));
|
| + base::Bind(&DeviceInfoDataTypeController::OnLocalDeviceInfoLoaded,
|
| + base::AsWeakPtr(this)));
|
|
|
| return false;
|
| }
|
|
|
| void DeviceInfoDataTypeController::StopModels() {
|
| + DCHECK(CalledOnValidThread());
|
| subscription_.reset();
|
| }
|
|
|
| void DeviceInfoDataTypeController::OnLocalDeviceInfoLoaded() {
|
| + DCHECK(CalledOnValidThread());
|
| DCHECK_EQ(state_, MODEL_STARTING);
|
| DCHECK(local_device_info_provider_->GetLocalDeviceInfo());
|
|
|
|
|