Index: components/sync/driver/fake_data_type_controller.cc |
diff --git a/components/sync/driver/fake_data_type_controller.cc b/components/sync/driver/fake_data_type_controller.cc |
index cfb60dfe3670f348d6fd3759752dab04493371a8..45e8fbee8aa49f7850524452ff064e69ebf2fc4e 100644 |
--- a/components/sync/driver/fake_data_type_controller.cc |
+++ b/components/sync/driver/fake_data_type_controller.cc |
@@ -4,7 +4,10 @@ |
#include "components/sync/driver/fake_data_type_controller.h" |
+#include "base/bind.h" |
+#include "base/memory/ptr_util.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "components/sync/api/data_type_error_handler_impl.h" |
#include "components/sync/api/sync_merge_result.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -14,12 +17,9 @@ using syncer::ModelType; |
namespace sync_driver { |
FakeDataTypeController::FakeDataTypeController(ModelType type) |
- : DirectoryDataTypeController(base::ThreadTaskRunnerHandle::Get(), |
- base::Closure(), |
- nullptr), |
+ : DirectoryDataTypeController(type, base::Closure(), nullptr), |
state_(NOT_RUNNING), |
model_load_delayed_(false), |
- type_(type), |
ready_for_start_(true), |
should_load_model_before_configure_(false), |
register_with_backend_call_count_(0) {} |
@@ -33,6 +33,7 @@ bool FakeDataTypeController::ShouldLoadModelBeforeConfigure() const { |
// NOT_RUNNING ->MODEL_LOADED |MODEL_STARTING. |
void FakeDataTypeController::LoadModels( |
const ModelLoadCallback& model_load_callback) { |
+ DCHECK(CalledOnValidThread()); |
model_load_callback_ = model_load_callback; |
if (state_ != NOT_RUNNING) { |
ADD_FAILURE(); |
@@ -58,6 +59,7 @@ void FakeDataTypeController::RegisterWithBackend( |
// MODEL_LOADED -> MODEL_STARTING. |
void FakeDataTypeController::StartAssociating( |
const StartCallback& start_callback) { |
+ DCHECK(CalledOnValidThread()); |
last_start_callback_ = start_callback; |
state_ = ASSOCIATING; |
} |
@@ -65,6 +67,7 @@ void FakeDataTypeController::StartAssociating( |
// MODEL_STARTING | ASSOCIATING -> RUNNING | DISABLED | NOT_RUNNING |
// (depending on |result|) |
void FakeDataTypeController::FinishStart(ConfigureResult result) { |
+ DCHECK(CalledOnValidThread()); |
// We should have a callback from Start(). |
if (last_start_callback_.is_null()) { |
ADD_FAILURE(); |
@@ -98,6 +101,7 @@ void FakeDataTypeController::FinishStart(ConfigureResult result) { |
// * -> NOT_RUNNING |
void FakeDataTypeController::Stop() { |
+ DCHECK(CalledOnValidThread()); |
if (!model_load_callback_.is_null()) { |
// Real data type controllers run the callback and specify "ABORTED" as an |
// error. We should probably find a way to use the real code and mock out |
@@ -107,12 +111,8 @@ void FakeDataTypeController::Stop() { |
state_ = NOT_RUNNING; |
} |
-ModelType FakeDataTypeController::type() const { |
- return type_; |
-} |
- |
std::string FakeDataTypeController::name() const { |
- return ModelTypeToString(type_); |
+ return ModelTypeToString(type()); |
} |
syncer::ModelSafeGroup FakeDataTypeController::model_safe_group() const { |
@@ -127,12 +127,6 @@ DataTypeController::State FakeDataTypeController::state() const { |
return state_; |
} |
-void FakeDataTypeController::OnSingleDataTypeUnrecoverableError( |
- const syncer::SyncError& error) { |
- if (!model_load_callback_.is_null()) |
- model_load_callback_.Run(type(), error); |
-} |
- |
bool FakeDataTypeController::ReadyForStart() const { |
return ready_for_start_; |
} |
@@ -161,4 +155,12 @@ void FakeDataTypeController::SetShouldLoadModelBeforeConfigure(bool value) { |
should_load_model_before_configure_ = value; |
} |
+std::unique_ptr<syncer::DataTypeErrorHandler> |
+FakeDataTypeController::CreateErrorHandler() { |
+ DCHECK(CalledOnValidThread()); |
+ return base::MakeUnique<syncer::DataTypeErrorHandlerImpl>( |
+ base::ThreadTaskRunnerHandle::Get(), base::Closure(), |
+ base::Bind(model_load_callback_, type())); |
+} |
+ |
} // namespace sync_driver |