| Index: chrome/browser/sync/engine/sync_scheduler_unittest.cc
|
| diff --git a/chrome/browser/sync/engine/sync_scheduler_unittest.cc b/chrome/browser/sync/engine/sync_scheduler_unittest.cc
|
| index 4f1058d78498938535b0fd62a2846e6520035ee7..f56b6c92cd464c12349c289cb1ae794a656f48ba 100644
|
| --- a/chrome/browser/sync/engine/sync_scheduler_unittest.cc
|
| +++ b/chrome/browser/sync/engine/sync_scheduler_unittest.cc
|
| @@ -5,7 +5,7 @@
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| #include "base/compiler_specific.h"
|
| -#include "base/memory/scoped_callback_factory.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/message_loop.h"
|
| #include "base/task.h"
|
| #include "base/test/test_timeouts.h"
|
| @@ -74,7 +74,7 @@ static const size_t kMinNumSamples = 5;
|
| class SyncSchedulerTest : public testing::Test {
|
| public:
|
| SyncSchedulerTest()
|
| - : callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
|
| + : weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
|
| context_(NULL),
|
| syncer_(NULL),
|
| delay_(NULL) {}
|
| @@ -141,7 +141,8 @@ class SyncSchedulerTest : public testing::Test {
|
| void StartSyncScheduler(SyncScheduler::Mode mode) {
|
| scheduler()->Start(
|
| mode,
|
| - callback_factory_.NewCallback(&SyncSchedulerTest::DoQuitLoopNow));
|
| + base::Bind(&SyncSchedulerTest::DoQuitLoopNow,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| }
|
|
|
| bool GetBackoffAndResetTest() {
|
| @@ -191,7 +192,7 @@ class SyncSchedulerTest : public testing::Test {
|
| SyncSessionContext* context() { return context_; }
|
|
|
| private:
|
| - base::ScopedCallbackFactory<SyncSchedulerTest> callback_factory_;
|
| + base::WeakPtrFactory<SyncSchedulerTest> weak_ptr_factory_;
|
| MessageLoop message_loop_;
|
| scoped_ptr<SyncScheduler> scheduler_;
|
| scoped_ptr<MockConnectionManager> connection_;
|
| @@ -959,6 +960,15 @@ TEST_F(SyncSchedulerTest, GetRecommendedDelay) {
|
| TimeDelta::FromSeconds(kMaxBackoffSeconds + 1)));
|
| }
|
|
|
| +namespace {
|
| +
|
| +class MockCallback : public base::SupportsWeakPtr<MockCallback> {
|
| + public:
|
| + MOCK_METHOD0(Run, void());
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| // Test that appropriate syncer steps are requested for each job type.
|
| TEST_F(SyncSchedulerTest, SyncerSteps) {
|
| // Nudges.
|
| @@ -1008,7 +1018,10 @@ TEST_F(SyncSchedulerTest, SyncerSteps) {
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
| RunLoop();
|
|
|
| - scheduler()->ScheduleCleanupDisabledTypes();
|
| + MockCallback mock_callback;
|
| + EXPECT_CALL(mock_callback, Run());
|
| + scheduler()->ScheduleCleanupDisabledTypes(
|
| + base::Bind(&MockCallback::Run, mock_callback.AsWeakPtr()));
|
| PumpLoop();
|
| PumpLoop();
|
|
|
|
|