Chromium Code Reviews| Index: cc/resources/resource_update_controller_unittest.cc |
| diff --git a/cc/resources/resource_update_controller_unittest.cc b/cc/resources/resource_update_controller_unittest.cc |
| index 5507eb507e09ffccfc2f904ad2bbd6ddeb08b2a3..6196bd1a00b3a54cecd197a38cf73e991931d587 100644 |
| --- a/cc/resources/resource_update_controller_unittest.cc |
| +++ b/cc/resources/resource_update_controller_unittest.cc |
| @@ -4,6 +4,7 @@ |
| #include "cc/resources/resource_update_controller.h" |
| +#include "base/test/test_simple_task_runner.h" |
| #include "cc/resources/prioritized_resource_manager.h" |
| #include "cc/test/fake_output_surface.h" |
| #include "cc/test/fake_proxy.h" |
| @@ -180,8 +181,10 @@ class ResourceUpdateControllerTest : public Test { |
| DebugScopedSetImplThreadAndMainThreadBlocked |
| impl_thread_and_main_thread_blocked(&proxy_); |
| scoped_ptr<ResourceUpdateController> update_controller = |
| - ResourceUpdateController::Create( |
| - NULL, proxy_.ImplThread(), queue_.Pass(), resource_provider_.get()); |
| + ResourceUpdateController::Create(NULL, |
| + NULL, |
|
piman
2013/06/18 03:02:45
OK to pass a NULL TaskRunner here?
danakj
2013/06/18 03:03:34
It's not used and equivalent to the old code. The
|
| + queue_.Pass(), |
| + resource_provider_.get()); |
| update_controller->Finalize(); |
| } |
| @@ -326,7 +329,7 @@ TEST_F(ResourceUpdateControllerTest, ManyFullManyPartialUploads) { |
| } |
| class FakeResourceUpdateControllerClient |
| - : public cc::ResourceUpdateControllerClient { |
| + : public ResourceUpdateControllerClient { |
| public: |
| FakeResourceUpdateControllerClient() { Reset(); } |
| void Reset() { ready_to_finalize_called_ = false; } |
| @@ -340,14 +343,15 @@ class FakeResourceUpdateControllerClient |
| bool ready_to_finalize_called_; |
| }; |
| -class FakeResourceUpdateController : public cc::ResourceUpdateController { |
| +class FakeResourceUpdateController : public ResourceUpdateController { |
| public: |
| static scoped_ptr<FakeResourceUpdateController> Create( |
| - cc::ResourceUpdateControllerClient* client, cc::Thread* thread, |
| + ResourceUpdateControllerClient* client, |
| + base::TestSimpleTaskRunner* task_runner, |
| scoped_ptr<ResourceUpdateQueue> queue, |
| ResourceProvider* resource_provider) { |
| return make_scoped_ptr(new FakeResourceUpdateController( |
| - client, thread, queue.Pass(), resource_provider)); |
| + client, task_runner, queue.Pass(), resource_provider)); |
| } |
| void SetNow(base::TimeTicks time) { now_ = time; } |
| @@ -366,12 +370,12 @@ class FakeResourceUpdateController : public cc::ResourceUpdateController { |
| } |
| protected: |
| - FakeResourceUpdateController(cc::ResourceUpdateControllerClient* client, |
| - cc::Thread* thread, |
| + FakeResourceUpdateController(ResourceUpdateControllerClient* client, |
| + base::TestSimpleTaskRunner* task_runner, |
| scoped_ptr<ResourceUpdateQueue> queue, |
| ResourceProvider* resource_provider) |
| - : cc::ResourceUpdateController( |
| - client, thread, queue.Pass(), resource_provider), |
| + : ResourceUpdateController( |
| + client, task_runner, queue.Pass(), resource_provider), |
| update_more_textures_size_(0) {} |
| base::TimeTicks now_; |
| @@ -379,17 +383,17 @@ class FakeResourceUpdateController : public cc::ResourceUpdateController { |
| size_t update_more_textures_size_; |
| }; |
| -static void RunPendingTask(FakeThread* thread, |
| +static void RunPendingTask(base::TestSimpleTaskRunner* task_runner, |
| FakeResourceUpdateController* controller) { |
| - EXPECT_TRUE(thread->HasPendingTask()); |
| - controller->SetNow(controller->Now() + base::TimeDelta::FromMilliseconds( |
| - thread->PendingDelayMs())); |
| - thread->RunPendingTask(); |
| + EXPECT_TRUE(task_runner->HasPendingTask()); |
| + controller->SetNow(controller->Now() + task_runner->NextPendingTaskDelay()); |
| + task_runner->RunPendingTasks(); |
| } |
| TEST_F(ResourceUpdateControllerTest, UpdateMoreTextures) { |
| FakeResourceUpdateControllerClient client; |
| - FakeThread thread; |
| + scoped_refptr<base::TestSimpleTaskRunner> task_runner = |
| + new base::TestSimpleTaskRunner; |
| SetMaxUploadCountPerUpdate(1); |
| AppendFullUploadsToUpdateQueue(3); |
| @@ -398,7 +402,9 @@ TEST_F(ResourceUpdateControllerTest, UpdateMoreTextures) { |
| DebugScopedSetImplThreadAndMainThreadBlocked |
| impl_thread_and_main_thread_blocked(&proxy_); |
| scoped_ptr<FakeResourceUpdateController> controller( |
| - FakeResourceUpdateController::Create(&client, &thread, queue_.Pass(), |
| + FakeResourceUpdateController::Create(&client, |
| + task_runner.get(), |
| + queue_.Pass(), |
| resource_provider_.get())); |
| controller->SetNow(controller->Now() + base::TimeDelta::FromMilliseconds(1)); |
| @@ -407,14 +413,14 @@ TEST_F(ResourceUpdateControllerTest, UpdateMoreTextures) { |
| // Not enough time for any updates. |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(90)); |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| controller->SetUpdateMoreTexturesTime(base::TimeDelta::FromMilliseconds(100)); |
| controller->SetUpdateMoreTexturesSize(1); |
| // Only enough time for 1 update. |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(120)); |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| EXPECT_EQ(1, num_total_uploads_); |
| // Complete one upload. |
| @@ -425,15 +431,16 @@ TEST_F(ResourceUpdateControllerTest, UpdateMoreTextures) { |
| // Enough time for 2 updates. |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(220)); |
| - RunPendingTask(&thread, controller.get()); |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + RunPendingTask(task_runner.get(), controller.get()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| EXPECT_TRUE(client.ReadyToFinalizeCalled()); |
| EXPECT_EQ(3, num_total_uploads_); |
| } |
| TEST_F(ResourceUpdateControllerTest, NoMoreUpdates) { |
| FakeResourceUpdateControllerClient client; |
| - FakeThread thread; |
| + scoped_refptr<base::TestSimpleTaskRunner> task_runner = |
| + new base::TestSimpleTaskRunner; |
| SetMaxUploadCountPerUpdate(1); |
| AppendFullUploadsToUpdateQueue(2); |
| @@ -442,7 +449,9 @@ TEST_F(ResourceUpdateControllerTest, NoMoreUpdates) { |
| DebugScopedSetImplThreadAndMainThreadBlocked |
| impl_thread_and_main_thread_blocked(&proxy_); |
| scoped_ptr<FakeResourceUpdateController> controller( |
| - FakeResourceUpdateController::Create(&client, &thread, queue_.Pass(), |
| + FakeResourceUpdateController::Create(&client, |
| + task_runner.get(), |
| + queue_.Pass(), |
| resource_provider_.get())); |
| controller->SetNow(controller->Now() + base::TimeDelta::FromMilliseconds(1)); |
| @@ -451,8 +460,8 @@ TEST_F(ResourceUpdateControllerTest, NoMoreUpdates) { |
| // Enough time for 3 updates but only 2 necessary. |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(310)); |
| - RunPendingTask(&thread, controller.get()); |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + RunPendingTask(task_runner.get(), controller.get()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| EXPECT_TRUE(client.ReadyToFinalizeCalled()); |
| EXPECT_EQ(2, num_total_uploads_); |
| @@ -462,15 +471,16 @@ TEST_F(ResourceUpdateControllerTest, NoMoreUpdates) { |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(310)); |
| // 0-delay task used to call ReadyToFinalizeTextureUpdates(). |
| - RunPendingTask(&thread, controller.get()); |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + RunPendingTask(task_runner.get(), controller.get()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| EXPECT_TRUE(client.ReadyToFinalizeCalled()); |
| EXPECT_EQ(2, num_total_uploads_); |
| } |
| TEST_F(ResourceUpdateControllerTest, UpdatesCompleteInFiniteTime) { |
| FakeResourceUpdateControllerClient client; |
| - FakeThread thread; |
| + scoped_refptr<base::TestSimpleTaskRunner> task_runner = |
| + new base::TestSimpleTaskRunner; |
| SetMaxUploadCountPerUpdate(1); |
| AppendFullUploadsToUpdateQueue(2); |
| @@ -479,7 +489,9 @@ TEST_F(ResourceUpdateControllerTest, UpdatesCompleteInFiniteTime) { |
| DebugScopedSetImplThreadAndMainThreadBlocked |
| impl_thread_and_main_thread_blocked(&proxy_); |
| scoped_ptr<FakeResourceUpdateController> controller( |
| - FakeResourceUpdateController::Create(&client, &thread, queue_.Pass(), |
| + FakeResourceUpdateController::Create(&client, |
| + task_runner.get(), |
| + queue_.Pass(), |
| resource_provider_.get())); |
| controller->SetNow(controller->Now() + base::TimeDelta::FromMilliseconds(1)); |
| @@ -494,11 +506,11 @@ TEST_F(ResourceUpdateControllerTest, UpdatesCompleteInFiniteTime) { |
| controller->PerformMoreUpdates(controller->Now() + |
| base::TimeDelta::FromMilliseconds(400)); |
| - if (thread.HasPendingTask()) |
| - RunPendingTask(&thread, controller.get()); |
| + if (task_runner->HasPendingTask()) |
| + RunPendingTask(task_runner.get(), controller.get()); |
| } |
| - EXPECT_FALSE(thread.HasPendingTask()); |
| + EXPECT_FALSE(task_runner->HasPendingTask()); |
| EXPECT_TRUE(client.ReadyToFinalizeCalled()); |
| EXPECT_EQ(2, num_total_uploads_); |
| } |