Index: components/sync/driver/non_blocking_data_type_controller.h |
diff --git a/components/sync/driver/non_blocking_data_type_controller.h b/components/sync/driver/non_blocking_data_type_controller.h |
index 9091cc576de0f011b1ae29732654fa123ba028f9..d81b8311f1932cb10557e8c851016e3f6f095fb2 100644 |
--- a/components/sync/driver/non_blocking_data_type_controller.h |
+++ b/components/sync/driver/non_blocking_data_type_controller.h |
@@ -97,6 +97,12 @@ class NonBlockingDataTypeController : public sync_driver::DataTypeController { |
// callback and must temporarily own it until ActivateDataType is called. |
std::unique_ptr<syncer_v2::ActivationContext> activation_context_; |
+ // This is a hack to prevent reconfigurations from crashing, because USS |
+ // activation is not idempotent. RegisterWithBackend only needs to actually do |
+ // something the first time after the type is enabled. |
+ // TODO(crbug.com/647505): Remove this once the DTM handles things better. |
+ bool activated_ = false; |
+ |
DISALLOW_COPY_AND_ASSIGN(NonBlockingDataTypeController); |
}; |