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

Side by Side Diff: cc/surfaces/display_scheduler_unittest.cc

Issue 2583483002: [cc] Adds source_id and sequence_number to BeginFrameArgs. (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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "cc/surfaces/display_scheduler.h" 5 #include "cc/surfaces/display_scheduler.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/test/null_task_runner.h" 8 #include "base/test/null_task_runner.h"
9 #include "base/test/simple_test_tick_clock.h" 9 #include "base/test/simple_test_tick_clock.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 } 66 }
67 67
68 protected: 68 protected:
69 int scheduler_begin_frame_deadline_count_; 69 int scheduler_begin_frame_deadline_count_;
70 }; 70 };
71 71
72 class DisplaySchedulerTest : public testing::Test { 72 class DisplaySchedulerTest : public testing::Test {
73 public: 73 public:
74 DisplaySchedulerTest() 74 DisplaySchedulerTest()
75 : fake_begin_frame_source_(0.f, false), 75 : fake_begin_frame_source_(0.f, false),
76 next_begin_frame_number_(BeginFrameArgs::kStartingFrameNumber),
76 task_runner_(new base::NullTaskRunner), 77 task_runner_(new base::NullTaskRunner),
77 scheduler_(&fake_begin_frame_source_, 78 scheduler_(&fake_begin_frame_source_,
78 task_runner_.get(), 79 task_runner_.get(),
79 kMaxPendingSwaps) { 80 kMaxPendingSwaps) {
80 now_src_.Advance(base::TimeDelta::FromMicroseconds(10000)); 81 now_src_.Advance(base::TimeDelta::FromMicroseconds(10000));
81 scheduler_.SetClient(&client_); 82 scheduler_.SetClient(&client_);
82 } 83 }
83 84
84 ~DisplaySchedulerTest() override {} 85 ~DisplaySchedulerTest() override {}
85 86
86 void SetUp() override { scheduler_.SetRootSurfaceResourcesLocked(false); } 87 void SetUp() override { scheduler_.SetRootSurfaceResourcesLocked(false); }
87 88
88 void BeginFrameForTest() { 89 void BeginFrameForTest() {
89 base::TimeTicks frame_time = now_src_.NowTicks(); 90 base::TimeTicks frame_time = now_src_.NowTicks();
90 base::TimeDelta interval = BeginFrameArgs::DefaultInterval(); 91 base::TimeDelta interval = BeginFrameArgs::DefaultInterval();
91 base::TimeTicks deadline = frame_time + interval; 92 base::TimeTicks deadline = frame_time + interval;
92 fake_begin_frame_source_.TestOnBeginFrame( 93 fake_begin_frame_source_.TestOnBeginFrame(BeginFrameArgs::Create(
93 BeginFrameArgs::Create(BEGINFRAME_FROM_HERE, frame_time, deadline, 94 BEGINFRAME_FROM_HERE, fake_begin_frame_source_.source_id(),
94 interval, BeginFrameArgs::NORMAL)); 95 next_begin_frame_number_++, frame_time, deadline, interval,
96 BeginFrameArgs::NORMAL));
95 } 97 }
96 98
97 protected: 99 protected:
98 base::SimpleTestTickClock& now_src() { return now_src_; } 100 base::SimpleTestTickClock& now_src() { return now_src_; }
99 FakeDisplaySchedulerClient& client() { return client_; } 101 FakeDisplaySchedulerClient& client() { return client_; }
100 DisplayScheduler& scheduler() { return scheduler_; } 102 DisplayScheduler& scheduler() { return scheduler_; }
101 103
102 FakeExternalBeginFrameSource fake_begin_frame_source_; 104 FakeExternalBeginFrameSource fake_begin_frame_source_;
105 uint64_t next_begin_frame_number_;
brianderson 2016/12/15 22:10:33 In this case, does it make sense for this to be tr
Eric Seckler 2016/12/16 17:25:58 true, that's nicer :) Done.
103 106
104 base::SimpleTestTickClock now_src_; 107 base::SimpleTestTickClock now_src_;
105 scoped_refptr<base::NullTaskRunner> task_runner_; 108 scoped_refptr<base::NullTaskRunner> task_runner_;
106 FakeDisplaySchedulerClient client_; 109 FakeDisplaySchedulerClient client_;
107 TestDisplayScheduler scheduler_; 110 TestDisplayScheduler scheduler_;
108 }; 111 };
109 112
110 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) { 113 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) {
111 SurfaceId root_surface_id1(kArbitraryFrameSinkId, 114 SurfaceId root_surface_id1(kArbitraryFrameSinkId,
112 LocalFrameId(1, base::UnguessableToken::Create())); 115 LocalFrameId(1, base::UnguessableToken::Create()));
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 573
571 scheduler_.SetRootSurfaceResourcesLocked(true); 574 scheduler_.SetRootSurfaceResourcesLocked(true);
572 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); 575 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count());
573 576
574 scheduler_.OutputSurfaceLost(); 577 scheduler_.OutputSurfaceLost();
575 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); 578 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count());
576 } 579 }
577 580
578 } // namespace 581 } // namespace
579 } // namespace cc 582 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698