Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(599)

Unified Diff: components/sync/model/recording_model_type_change_processor.cc

Issue 2856933005: [Sync] Create UserEventSyncBridge. (Closed)
Patch Set: Trying std::move to fix implicit up cast of unique_ptr. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..bf4dc8d05ca8767de3cf6f668c68560df5d70e05 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> SideAssignNewProcessor(
Patrick Noland 2017/05/04 19:43:18 Given that this 1) creates a new processor 2) retu
skym 2017/05/04 20:33:59 As discussed offline, changing to CreateAndAssignP
+ 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 std::move to help them out.
+ return std::move(processor);
+}
+
+} // 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(&SideAssignNewProcessor,
+ base::Unretained(processor_address));
+}
+
} // namespace syncer

Powered by Google App Engine
This is Rietveld 408576698