Index: third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp |
diff --git a/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp b/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp |
index bcff0c113ae43105fedd67c95a1ce46c39108309..575bd1927f6414999ecc51b2423aac3b90497425 100644 |
--- a/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp |
+++ b/third_party/WebKit/Source/platform/WebTaskRunnerTest.cpp |
@@ -38,60 +38,61 @@ class CancellationTestHelper { |
} // namespace |
TEST(WebTaskRunnerTest, PostCancellableTaskTest) { |
- scheduler::FakeWebTaskRunner taskRunner; |
+ RefPtr<scheduler::FakeWebTaskRunner> taskRunner = |
+ adoptRef(new scheduler::FakeWebTaskRunner); |
// Run without cancellation. |
int count = 0; |
- TaskHandle handle = taskRunner.postCancellableTask( |
+ TaskHandle handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
EXPECT_EQ(0, count); |
EXPECT_TRUE(handle.isActive()); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(1, count); |
EXPECT_FALSE(handle.isActive()); |
count = 0; |
- handle = taskRunner.postDelayedCancellableTask( |
+ handle = taskRunner->postDelayedCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count)), 1); |
EXPECT_EQ(0, count); |
EXPECT_TRUE(handle.isActive()); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(1, count); |
EXPECT_FALSE(handle.isActive()); |
// Cancel a task. |
count = 0; |
- handle = taskRunner.postCancellableTask( |
+ handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
handle.cancel(); |
EXPECT_EQ(0, count); |
EXPECT_FALSE(handle.isActive()); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(0, count); |
// The task should be cancelled when the handle is dropped. |
{ |
count = 0; |
- TaskHandle handle2 = taskRunner.postCancellableTask( |
+ TaskHandle handle2 = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
EXPECT_TRUE(handle2.isActive()); |
} |
EXPECT_EQ(0, count); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(0, count); |
// The task should be cancelled when another TaskHandle is assigned on it. |
count = 0; |
- handle = taskRunner.postCancellableTask( |
+ handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
- handle = taskRunner.postCancellableTask(BLINK_FROM_HERE, WTF::bind([] {})); |
+ handle = taskRunner->postCancellableTask(BLINK_FROM_HERE, WTF::bind([] {})); |
EXPECT_EQ(0, count); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(0, count); |
// Self assign should be nop. |
count = 0; |
- handle = taskRunner.postCancellableTask( |
+ handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
#if COMPILER(CLANG) |
#pragma GCC diagnostic push |
@@ -102,30 +103,31 @@ TEST(WebTaskRunnerTest, PostCancellableTaskTest) { |
handle = std::move(handle); |
#endif // COMPILER(CLANG) |
EXPECT_EQ(0, count); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_EQ(1, count); |
// handle->isActive() should switch to false before the task starts running. |
bool isActive = false; |
- handle = taskRunner.postCancellableTask( |
+ handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&getIsActive, WTF::unretained(&isActive), |
WTF::unretained(&handle))); |
EXPECT_TRUE(handle.isActive()); |
- taskRunner.runUntilIdle(); |
+ taskRunner->runUntilIdle(); |
EXPECT_FALSE(isActive); |
EXPECT_FALSE(handle.isActive()); |
} |
TEST(WebTaskRunnerTest, CancellationCheckerTest) { |
- scheduler::FakeWebTaskRunner taskRunner; |
+ RefPtr<scheduler::FakeWebTaskRunner> taskRunner = |
+ adoptRef(new scheduler::FakeWebTaskRunner); |
int count = 0; |
- TaskHandle handle = taskRunner.postCancellableTask( |
+ TaskHandle handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&increment, WTF::unretained(&count))); |
EXPECT_EQ(0, count); |
// TaskHandle::isActive should detect the deletion of posted task. |
- auto queue = taskRunner.takePendingTasksForTesting(); |
+ auto queue = taskRunner->takePendingTasksForTesting(); |
ASSERT_EQ(1u, queue.size()); |
EXPECT_FALSE(queue[0].IsCancelled()); |
EXPECT_TRUE(handle.isActive()); |
@@ -135,13 +137,13 @@ TEST(WebTaskRunnerTest, CancellationCheckerTest) { |
count = 0; |
CancellationTestHelper helper; |
- handle = taskRunner.postCancellableTask( |
+ handle = taskRunner->postCancellableTask( |
BLINK_FROM_HERE, WTF::bind(&CancellationTestHelper::incrementCounter, |
helper.createWeakPtr())); |
EXPECT_EQ(0, helper.counter()); |
// The cancellation of the posted task should be propagated to TaskHandle. |
- queue = taskRunner.takePendingTasksForTesting(); |
+ queue = taskRunner->takePendingTasksForTesting(); |
ASSERT_EQ(1u, queue.size()); |
EXPECT_FALSE(queue[0].IsCancelled()); |
EXPECT_TRUE(handle.isActive()); |