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

Unified Diff: third_party/WebKit/Source/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc

Issue 2568063003: Remove WebTaskRunner::Task (Closed)
Patch Set: . Created 4 years 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
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();
}

Powered by Google App Engine
This is Rietveld 408576698