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

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

Issue 735723005: cc: Adding creation location to debug BeginFrameArgs objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase onto master. Created 6 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 unified diff | Download patch
« no previous file with comments | « content/renderer/gpu/render_widget_compositor_unittest.cc ('k') | ui/compositor/compositor.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 24 matching lines...) Expand all
35 scheduler_(new RendererSchedulerImplForTest(mock_task_runner_, clock_)), 35 scheduler_(new RendererSchedulerImplForTest(mock_task_runner_, clock_)),
36 default_task_runner_(scheduler_->DefaultTaskRunner()), 36 default_task_runner_(scheduler_->DefaultTaskRunner()),
37 compositor_task_runner_(scheduler_->CompositorTaskRunner()), 37 compositor_task_runner_(scheduler_->CompositorTaskRunner()),
38 idle_task_runner_(scheduler_->IdleTaskRunner()) {} 38 idle_task_runner_(scheduler_->IdleTaskRunner()) {}
39 ~RendererSchedulerImplTest() override {} 39 ~RendererSchedulerImplTest() override {}
40 40
41 void RunUntilIdle() { mock_task_runner_->RunUntilIdle(); } 41 void RunUntilIdle() { mock_task_runner_->RunUntilIdle(); }
42 42
43 void EnableIdleTasks() { 43 void EnableIdleTasks() {
44 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( 44 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
45 clock_->Now(), base::TimeTicks(), 45 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
46 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); 46 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
47 scheduler_->DidCommitFrameToCompositor(); 47 scheduler_->DidCommitFrameToCompositor();
48 } 48 }
49 49
50 protected: 50 protected:
51 scoped_refptr<cc::TestNowSource> clock_; 51 scoped_refptr<cc::TestNowSource> clock_;
52 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_; 52 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_;
53 53
54 scoped_ptr<RendererSchedulerImpl> scheduler_; 54 scoped_ptr<RendererSchedulerImpl> scheduler_;
55 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_; 55 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 base::TimeTicks deadline_in_task; 185 base::TimeTicks deadline_in_task;
186 186
187 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(100)); 187 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(100));
188 idle_task_runner_->PostIdleTask( 188 idle_task_runner_->PostIdleTask(
189 FROM_HERE, base::Bind(&IdleTestTask, &task_run, &deadline_in_task)); 189 FROM_HERE, base::Bind(&IdleTestTask, &task_run, &deadline_in_task));
190 190
191 RunUntilIdle(); 191 RunUntilIdle();
192 EXPECT_FALSE(task_run); // Shouldn't run yet as no WillBeginFrame. 192 EXPECT_FALSE(task_run); // Shouldn't run yet as no WillBeginFrame.
193 193
194 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( 194 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
195 clock_->Now(), base::TimeTicks(), base::TimeDelta::FromMilliseconds(1000), 195 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
196 cc::BeginFrameArgs::NORMAL)); 196 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
197 RunUntilIdle(); 197 RunUntilIdle();
198 EXPECT_FALSE(task_run); // Shouldn't run as no DidCommitFrameToCompositor. 198 EXPECT_FALSE(task_run); // Shouldn't run as no DidCommitFrameToCompositor.
199 199
200 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(1200)); 200 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(1200));
201 scheduler_->DidCommitFrameToCompositor(); 201 scheduler_->DidCommitFrameToCompositor();
202 RunUntilIdle(); 202 RunUntilIdle();
203 EXPECT_FALSE(task_run); // We missed the deadline. 203 EXPECT_FALSE(task_run); // We missed the deadline.
204 204
205 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( 205 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
206 clock_->Now(), base::TimeTicks(), base::TimeDelta::FromMilliseconds(1000), 206 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
207 cc::BeginFrameArgs::NORMAL)); 207 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
208 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(800)); 208 clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(800));
209 scheduler_->DidCommitFrameToCompositor(); 209 scheduler_->DidCommitFrameToCompositor();
210 RunUntilIdle(); 210 RunUntilIdle();
211 EXPECT_TRUE(task_run); 211 EXPECT_TRUE(task_run);
212 EXPECT_EQ(expected_deadline, deadline_in_task); 212 EXPECT_EQ(expected_deadline, deadline_in_task);
213 } 213 }
214 214
215 TEST_F(RendererSchedulerImplTest, TestRepostingIdleTask) { 215 TEST_F(RendererSchedulerImplTest, TestRepostingIdleTask) {
216 int run_count = 0; 216 int run_count = 0;
217 217
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 FROM_HERE, base::Bind(&PostingYieldingTestTask, scheduler_.get(), 493 FROM_HERE, base::Bind(&PostingYieldingTestTask, scheduler_.get(),
494 compositor_task_runner_, true, &should_yield_before, 494 compositor_task_runner_, true, &should_yield_before,
495 &should_yield_after)); 495 &should_yield_after));
496 RunUntilIdle(); 496 RunUntilIdle();
497 // We should be able to switch to compositor priority mid-task. 497 // We should be able to switch to compositor priority mid-task.
498 EXPECT_FALSE(should_yield_before); 498 EXPECT_FALSE(should_yield_before);
499 EXPECT_TRUE(should_yield_after); 499 EXPECT_TRUE(should_yield_after);
500 } 500 }
501 501
502 } // namespace content 502 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/render_widget_compositor_unittest.cc ('k') | ui/compositor/compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698