Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: cc/resources/resource_update_controller_unittest.cc

Issue 17362002: cc: Remove FakeThread, use SingleThreadTaskRunner in scheduling classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rm-fakethread: rebase Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/resource_update_controller.cc ('k') | cc/scheduler/delay_based_time_source.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_);
}
« no previous file with comments | « cc/resources/resource_update_controller.cc ('k') | cc/scheduler/delay_based_time_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698