| Index: components/sync_driver/non_blocking_data_type_controller.cc
|
| diff --git a/components/sync_driver/non_blocking_data_type_controller.cc b/components/sync_driver/non_blocking_data_type_controller.cc
|
| index 5ec4e26dac5d9a961123f8b2adca640ffe21e227..02c5fe70a55834425ea65a3d3ad4991093774a31 100644
|
| --- a/components/sync_driver/non_blocking_data_type_controller.cc
|
| +++ b/components/sync_driver/non_blocking_data_type_controller.cc
|
| @@ -131,6 +131,16 @@ void NonBlockingDataTypeController::OnProcessorStartedOnUIThread(
|
| LoadModelsDone(result, error);
|
| }
|
|
|
| +void NonBlockingDataTypeController::RegisterWithBackend(
|
| + sync_driver::BackendDataTypeConfigurer* configurer) {
|
| + DCHECK(BelongsToUIThread());
|
| + DCHECK(configurer);
|
| + DCHECK(activation_context_);
|
| + DCHECK_EQ(MODEL_LOADED, state_);
|
| + configurer->ActivateNonBlockingDataType(type(),
|
| + std::move(activation_context_));
|
| +}
|
| +
|
| void NonBlockingDataTypeController::StartAssociating(
|
| const StartCallback& start_callback) {
|
| DCHECK(BelongsToUIThread());
|
| @@ -147,10 +157,11 @@ void NonBlockingDataTypeController::ActivateDataType(
|
| sync_driver::BackendDataTypeConfigurer* configurer) {
|
| DCHECK(BelongsToUIThread());
|
| DCHECK(configurer);
|
| - DCHECK(activation_context_);
|
| DCHECK_EQ(RUNNING, state_);
|
| - configurer->ActivateNonBlockingDataType(type(),
|
| - std::move(activation_context_));
|
| + // In contrast with directory datatypes, non-blocking data types should be
|
| + // activated in RegisterWithBackend. activation_context_ should be passed
|
| + // to backend before call to ActivateDataType.
|
| + DCHECK(!activation_context_);
|
| }
|
|
|
| void NonBlockingDataTypeController::DeactivateDataType(
|
|
|