Index: components/sync/driver/non_blocking_data_type_controller_unittest.cc |
diff --git a/components/sync/driver/non_blocking_data_type_controller_unittest.cc b/components/sync/driver/non_blocking_data_type_controller_unittest.cc |
index 3ad191fb46c90eda30a54ac3153d2cf77db3641b..011b85ec8401ef280977cb22326f298014b2302f 100644 |
--- a/components/sync/driver/non_blocking_data_type_controller_unittest.cc |
+++ b/components/sync/driver/non_blocking_data_type_controller_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "components/sync/driver/non_blocking_data_type_controller.h" |
#include <memory> |
+#include <utility> |
#include "base/bind.h" |
#include "base/callback.h" |
@@ -13,6 +14,7 @@ |
#include "base/memory/ref_counted.h" |
#include "base/message_loop/message_loop.h" |
#include "base/run_loop.h" |
+#include "base/threading/thread_task_runner_handle.h" |
#include "components/sync/api/fake_model_type_change_processor.h" |
#include "components/sync/api/stub_model_type_service.h" |
#include "components/sync/base/model_type.h" |
@@ -34,27 +36,18 @@ syncer::ModelType kTestModelType = syncer::AUTOFILL; |
// It posts all tasks to current thread. |
class TestDataTypeController : public NonBlockingDataTypeController { |
public: |
- TestDataTypeController( |
- const scoped_refptr<base::SingleThreadTaskRunner>& thread, |
- sync_driver::SyncClient* sync_client) |
- : NonBlockingDataTypeController(thread, |
+ explicit TestDataTypeController(sync_driver::SyncClient* sync_client) |
+ : NonBlockingDataTypeController(kTestModelType, |
base::Closure(), |
- kTestModelType, |
sync_client) {} |
- |
- protected: |
~TestDataTypeController() override {} |
+ protected: |
bool RunOnModelThread(const tracked_objects::Location& from_here, |
const base::Closure& task) override { |
- ui_thread()->PostTask(from_here, task); |
+ base::ThreadTaskRunnerHandle::Get()->PostTask(from_here, task); |
return true; |
} |
- |
- void RunOnUIThread(const tracked_objects::Location& from_here, |
- const base::Closure& task) override { |
- ui_thread()->PostTask(from_here, task); |
- } |
}; |
// Mock change processor to observe calls to DisableSync. |
@@ -77,18 +70,14 @@ class NonBlockingDataTypeControllerTest : public testing::Test { |
sync_prefs_(sync_client_.GetPrefService()), |
model_type_service_( |
base::Bind(&NonBlockingDataTypeControllerTest::CreateProcessor, |
- base::Unretained(this))) {} |
+ base::Unretained(this))), |
+ controller_(&sync_client_) {} |
void SetUp() override { |
sync_client_.SetModelTypeService(&model_type_service_); |
- controller_ = |
- new TestDataTypeController(message_loop_.task_runner(), &sync_client_); |
} |
- void TearDown() override { |
- controller_ = nullptr; |
- PumpLoop(); |
- } |
+ void TearDown() override { PumpLoop(); } |
protected: |
std::unique_ptr<syncer_v2::ModelTypeChangeProcessor> CreateProcessor( |
@@ -103,23 +92,23 @@ class NonBlockingDataTypeControllerTest : public testing::Test { |
// Gets controller from NOT_RUNNING to RUNNING state. |
void ActivateController() { |
EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, |
- controller_->state()); |
- controller_->LoadModels( |
+ controller_.state()); |
+ controller_.LoadModels( |
base::Bind(&NonBlockingDataTypeControllerTest::LoadModelsDone, |
base::Unretained(this))); |
EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING, |
- controller_->state()); |
+ controller_.state()); |
PumpLoop(); |
EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED, |
- controller_->state()); |
- controller_->StartAssociating( |
+ controller_.state()); |
+ controller_.StartAssociating( |
base::Bind(&NonBlockingDataTypeControllerTest::AssociationDone, |
base::Unretained(this))); |
- EXPECT_EQ(sync_driver::DataTypeController::RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::RUNNING, controller_.state()); |
} |
- void LoadModelsDone(syncer::ModelType type, syncer::SyncError error) {} |
+ void LoadModelsDone(syncer::ModelType type, const syncer::SyncError& error) {} |
void AssociationDone(sync_driver::DataTypeController::ConfigureResult result, |
const syncer::SyncMergeResult& local_merge_result, |
@@ -133,7 +122,7 @@ class NonBlockingDataTypeControllerTest : public testing::Test { |
sync_driver::SyncPrefs sync_prefs_; |
MockModelTypeChangeProcessor* processor_; |
syncer_v2::StubModelTypeService model_type_service_; |
- scoped_refptr<TestDataTypeController> controller_; |
+ TestDataTypeController controller_; |
}; |
// Test emulates normal browser shutdown. Ensures that DisableSync is not |
@@ -145,9 +134,9 @@ TEST_F(NonBlockingDataTypeControllerTest, StopWhenDatatypeEnabled) { |
ActivateController(); |
- controller_->Stop(); |
+ controller_.Stop(); |
PumpLoop(); |
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_.state()); |
// Ensure that DisableSync is not called and service still has valid change |
// processor. |
EXPECT_EQ(0, disable_sync_call_count_); |
@@ -167,9 +156,9 @@ TEST_F(NonBlockingDataTypeControllerTest, StopWhenDatatypeDisabled) { |
sync_prefs_.SetPreferredDataTypes(syncer::ModelTypeSet(kTestModelType), |
syncer::ModelTypeSet()); |
- controller_->Stop(); |
+ controller_.Stop(); |
PumpLoop(); |
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_.state()); |
// Ensure that DisableSync is called and change processor is reset. |
EXPECT_EQ(1, disable_sync_call_count_); |
EXPECT_FALSE(model_type_service_.HasChangeProcessor()); |
@@ -184,9 +173,9 @@ TEST_F(NonBlockingDataTypeControllerTest, StopWithInitialSyncPrefs) { |
// Clearing preferences emulates signing out. |
sync_prefs_.ClearPreferences(); |
- controller_->Stop(); |
+ controller_.Stop(); |
PumpLoop(); |
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_.state()); |
// Ensure that DisableSync is called and change processor is reset. |
EXPECT_EQ(1, disable_sync_call_count_); |
EXPECT_FALSE(model_type_service_.HasChangeProcessor()); |
@@ -198,13 +187,13 @@ TEST_F(NonBlockingDataTypeControllerTest, StopBeforeLoadModels) { |
// Enable datatype through preferences. |
sync_prefs_.SetFirstSetupComplete(); |
sync_prefs_.SetKeepEverythingSynced(true); |
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_.state()); |
// Clearing preferences emulates signing out. |
sync_prefs_.ClearPreferences(); |
- controller_->Stop(); |
+ controller_.Stop(); |
PumpLoop(); |
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state()); |
+ EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_.state()); |
// Ensure that DisableSync is not called. |
EXPECT_EQ(0, disable_sync_call_count_); |
} |