| Index: third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
|
| index 6fc53b0d81b6ae635c6bb419f941ca64fbc30da0..f9111c795f1d2735b11916b25c33015dc8edab8a 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
|
| @@ -26,7 +26,7 @@ namespace {
|
|
|
| const int kWorkBatchSize = 2;
|
|
|
| -class MockTask : public blink::WebTaskRunner::Task {
|
| +class MockTask {
|
| public:
|
| MOCK_METHOD0(run, void());
|
| };
|
| @@ -73,17 +73,17 @@ class WebThreadImplForRendererSchedulerTest : public testing::Test {
|
| TEST_F(WebThreadImplForRendererSchedulerTest, TestTaskObserver) {
|
| MockTaskObserver observer;
|
| thread_->addTaskObserver(&observer);
|
| - std::unique_ptr<MockTask> task(new MockTask());
|
| + MockTask task;
|
|
|
| {
|
| testing::InSequence sequence;
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task, run());
|
| + EXPECT_CALL(task, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
| }
|
|
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task.release());
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task)));
|
| base::RunLoop().RunUntilIdle();
|
| thread_->removeTaskObserver(&observer);
|
| }
|
| @@ -91,18 +91,18 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestTaskObserver) {
|
| TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithOneTask) {
|
| MockTaskObserver observer;
|
| thread_->addTaskObserver(&observer);
|
| - std::unique_ptr<MockTask> task(new MockTask());
|
| + MockTask task;
|
|
|
| SetWorkBatchSizeForTesting(kWorkBatchSize);
|
| {
|
| testing::InSequence sequence;
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task, run());
|
| + EXPECT_CALL(task, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
| }
|
|
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task.release());
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task)));
|
| base::RunLoop().RunUntilIdle();
|
| thread_->removeTaskObserver(&observer);
|
| }
|
| @@ -110,25 +110,25 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithOneTask) {
|
| TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithTwoTasks) {
|
| MockTaskObserver observer;
|
| thread_->addTaskObserver(&observer);
|
| - std::unique_ptr<MockTask> task1(new MockTask());
|
| - std::unique_ptr<MockTask> task2(new MockTask());
|
| + MockTask task1;
|
| + MockTask task2;
|
|
|
| SetWorkBatchSizeForTesting(kWorkBatchSize);
|
| {
|
| testing::InSequence sequence;
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task1, run());
|
| + EXPECT_CALL(task1, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
|
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task2, run());
|
| + EXPECT_CALL(task2, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
| }
|
|
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task1.release());
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task2.release());
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task1)));
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task2)));
|
| base::RunLoop().RunUntilIdle();
|
| thread_->removeTaskObserver(&observer);
|
| }
|
| @@ -136,52 +136,43 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithTwoTasks) {
|
| TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithThreeTasks) {
|
| MockTaskObserver observer;
|
| thread_->addTaskObserver(&observer);
|
| - std::unique_ptr<MockTask> task1(new MockTask());
|
| - std::unique_ptr<MockTask> task2(new MockTask());
|
| - std::unique_ptr<MockTask> task3(new MockTask());
|
| + MockTask task1;
|
| + MockTask task2;
|
| + MockTask task3;
|
|
|
| SetWorkBatchSizeForTesting(kWorkBatchSize);
|
| {
|
| testing::InSequence sequence;
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task1, run());
|
| + EXPECT_CALL(task1, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
|
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task2, run());
|
| + EXPECT_CALL(task2, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
|
|
| EXPECT_CALL(observer, willProcessTask());
|
| - EXPECT_CALL(*task3, run());
|
| + EXPECT_CALL(task3, run());
|
| EXPECT_CALL(observer, didProcessTask());
|
| }
|
|
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task1.release());
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task2.release());
|
| - thread_->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - task3.release());
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task1)));
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task2)));
|
| + thread_->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&MockTask::run, WTF::unretained(&task3)));
|
| base::RunLoop().RunUntilIdle();
|
| thread_->removeTaskObserver(&observer);
|
| }
|
|
|
| -class ExitRunLoopTask : public blink::WebTaskRunner::Task {
|
| - public:
|
| - ExitRunLoopTask(base::RunLoop* run_loop) : run_loop_(run_loop) {}
|
| -
|
| - void run() override { run_loop_->Quit(); }
|
| -
|
| - private:
|
| - base::RunLoop* run_loop_;
|
| -};
|
| -
|
| void EnterRunLoop(base::MessageLoop* message_loop, blink::WebThread* thread) {
|
| // Note: WebThreads do not support nested run loops, which is why we use a
|
| // run loop directly.
|
| base::RunLoop run_loop;
|
| - thread->getWebTaskRunner()->postTask(blink::WebTraceLocation(),
|
| - new ExitRunLoopTask(&run_loop));
|
| + thread->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE,
|
| + WTF::bind(&base::RunLoop::Quit, WTF::unretained(&run_loop)));
|
| message_loop->SetNestableTasksAllowed(true);
|
| run_loop.Run();
|
| }
|
|
|