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

Side by Side Diff: content/renderer/scheduler/renderer_scheduler_impl_unittest.cc

Issue 894183002: Revert of Run task queue manager work in batches (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/scheduler/renderer_scheduler_impl.h" 5 #include "content/renderer/scheduler/renderer_scheduler_impl.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "cc/output/begin_frame_args.h" 8 #include "cc/output/begin_frame_args.h"
9 #include "cc/test/ordered_simple_task_runner.h" 9 #include "cc/test/ordered_simple_task_runner.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 namespace content { 13 namespace content {
14 14
15 class RendererSchedulerImplForTest : public RendererSchedulerImpl {
16 public:
17 RendererSchedulerImplForTest(
18 scoped_refptr<cc::OrderedSimpleTaskRunner> task_runner,
19 scoped_refptr<cc::TestNowSource> clock)
20 : RendererSchedulerImpl(task_runner), clock_(clock) {}
21 ~RendererSchedulerImplForTest() override {}
22
23 protected:
24 base::TimeTicks Now() const override { return clock_->Now(); }
25
26 private:
27 scoped_refptr<cc::TestNowSource> clock_;
28 };
29
15 class RendererSchedulerImplTest : public testing::Test { 30 class RendererSchedulerImplTest : public testing::Test {
16 public: 31 public:
17 RendererSchedulerImplTest() 32 RendererSchedulerImplTest()
18 : clock_(cc::TestNowSource::Create(5000)), 33 : clock_(cc::TestNowSource::Create(5000)),
19 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_, false)), 34 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_, false)),
20 scheduler_(new RendererSchedulerImpl(mock_task_runner_)), 35 scheduler_(new RendererSchedulerImplForTest(mock_task_runner_, clock_)),
21 default_task_runner_(scheduler_->DefaultTaskRunner()), 36 default_task_runner_(scheduler_->DefaultTaskRunner()),
22 compositor_task_runner_(scheduler_->CompositorTaskRunner()), 37 compositor_task_runner_(scheduler_->CompositorTaskRunner()),
23 loading_task_runner_(scheduler_->LoadingTaskRunner()), 38 loading_task_runner_(scheduler_->LoadingTaskRunner()),
24 idle_task_runner_(scheduler_->IdleTaskRunner()) { 39 idle_task_runner_(scheduler_->IdleTaskRunner()) {}
25 scheduler_->SetTimeSourceForTesting(clock_);
26 }
27 ~RendererSchedulerImplTest() override {} 40 ~RendererSchedulerImplTest() override {}
28 41
29 void RunUntilIdle() { mock_task_runner_->RunUntilIdle(); } 42 void RunUntilIdle() { mock_task_runner_->RunUntilIdle(); }
30 43
31 void EnableIdleTasks() { 44 void EnableIdleTasks() {
32 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( 45 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
33 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), 46 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
34 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); 47 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
35 scheduler_->DidCommitFrameToCompositor(); 48 scheduler_->DidCommitFrameToCompositor();
36 } 49 }
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 FROM_HERE, base::Bind(&PostingYieldingTestTask, scheduler_.get(), 538 FROM_HERE, base::Bind(&PostingYieldingTestTask, scheduler_.get(),
526 compositor_task_runner_, true, &should_yield_before, 539 compositor_task_runner_, true, &should_yield_before,
527 &should_yield_after)); 540 &should_yield_after));
528 RunUntilIdle(); 541 RunUntilIdle();
529 // We should be able to switch to compositor priority mid-task. 542 // We should be able to switch to compositor priority mid-task.
530 EXPECT_FALSE(should_yield_before); 543 EXPECT_FALSE(should_yield_before);
531 EXPECT_TRUE(should_yield_after); 544 EXPECT_TRUE(should_yield_after);
532 } 545 }
533 546
534 } // namespace content 547 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/scheduler/renderer_scheduler_impl.cc ('k') | content/renderer/scheduler/task_queue_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698