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, |
+ 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_); |
} |