| Index: components/sync/model/recording_model_type_change_processor.cc
|
| diff --git a/components/sync/model/recording_model_type_change_processor.cc b/components/sync/model/recording_model_type_change_processor.cc
|
| index 0d379747de9e855cecb81cc841c8de0dd28c7620..e74e44f451aa1fe9cf4b0ee4af8e3457d3e77ece 100644
|
| --- a/components/sync/model/recording_model_type_change_processor.cc
|
| +++ b/components/sync/model/recording_model_type_change_processor.cc
|
| @@ -6,10 +6,27 @@
|
|
|
| #include <utility>
|
|
|
| +#include "base/bind.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "components/sync/model/metadata_batch.h"
|
|
|
| namespace syncer {
|
|
|
| +namespace {
|
| +
|
| +std::unique_ptr<ModelTypeChangeProcessor> CreateAndAssignProcessor(
|
| + RecordingModelTypeChangeProcessor** processor_address,
|
| + ModelType type,
|
| + ModelTypeSyncBridge* bridge) {
|
| + auto processor = base::MakeUnique<RecordingModelTypeChangeProcessor>();
|
| + *processor_address = processor.get();
|
| + // Not all compilers are smart enough to up cast during copy elision, so we
|
| + // explicitly create a correctly typed unique_ptr.
|
| + return base::WrapUnique(processor.release());
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| RecordingModelTypeChangeProcessor::RecordingModelTypeChangeProcessor() {}
|
|
|
| RecordingModelTypeChangeProcessor::~RecordingModelTypeChangeProcessor() {}
|
| @@ -41,4 +58,12 @@ void RecordingModelTypeChangeProcessor::SetIsTrackingMetadata(
|
| is_tracking_metadata_ = is_tracking;
|
| }
|
|
|
| +// static
|
| +ModelTypeSyncBridge::ChangeProcessorFactory
|
| +RecordingModelTypeChangeProcessor::FactoryForBridgeTest(
|
| + RecordingModelTypeChangeProcessor** processor_address) {
|
| + return base::Bind(&CreateAndAssignProcessor,
|
| + base::Unretained(processor_address));
|
| +}
|
| +
|
| } // namespace syncer
|
|
|