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

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

Issue 2661543002: Rename LocalFrameId to LocalSurfaceId (Closed)
Patch Set: c Created 3 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
« no previous file with comments | « cc/surfaces/display.cc ('k') | cc/surfaces/display_unittest.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 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 113
114 FakeExternalBeginFrameSource fake_begin_frame_source_; 114 FakeExternalBeginFrameSource fake_begin_frame_source_;
115 115
116 base::SimpleTestTickClock now_src_; 116 base::SimpleTestTickClock now_src_;
117 scoped_refptr<base::NullTaskRunner> task_runner_; 117 scoped_refptr<base::NullTaskRunner> task_runner_;
118 FakeDisplaySchedulerClient client_; 118 FakeDisplaySchedulerClient client_;
119 TestDisplayScheduler scheduler_; 119 TestDisplayScheduler scheduler_;
120 }; 120 };
121 121
122 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) { 122 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) {
123 SurfaceId root_surface_id1(kArbitraryFrameSinkId, 123 SurfaceId root_surface_id1(
124 LocalFrameId(1, base::UnguessableToken::Create())); 124 kArbitraryFrameSinkId,
125 SurfaceId root_surface_id2(kArbitraryFrameSinkId, 125 LocalSurfaceId(1, base::UnguessableToken::Create()));
126 LocalFrameId(2, base::UnguessableToken::Create())); 126 SurfaceId root_surface_id2(
127 kArbitraryFrameSinkId,
128 LocalSurfaceId(2, base::UnguessableToken::Create()));
127 SurfaceId sid1(kArbitraryFrameSinkId, 129 SurfaceId sid1(kArbitraryFrameSinkId,
128 LocalFrameId(3, base::UnguessableToken::Create())); 130 LocalSurfaceId(3, base::UnguessableToken::Create()));
129 base::TimeTicks late_deadline; 131 base::TimeTicks late_deadline;
130 132
131 scheduler_.SetVisible(true); 133 scheduler_.SetVisible(true);
132 134
133 // Go trough an initial BeginFrame cycle with the root surface. 135 // Go trough an initial BeginFrame cycle with the root surface.
134 AdvanceTimeAndBeginFrameForTest(); 136 AdvanceTimeAndBeginFrameForTest();
135 scheduler_.SetNewRootSurface(root_surface_id1); 137 scheduler_.SetNewRootSurface(root_surface_id1);
136 scheduler_.BeginFrameDeadlineForTest(); 138 scheduler_.BeginFrameDeadlineForTest();
137 139
138 // Resize on the next begin frame cycle should cause the deadline to wait 140 // Resize on the next begin frame cycle should cause the deadline to wait
(...skipping 14 matching lines...) Expand all
153 AdvanceTimeAndBeginFrameForTest(); 155 AdvanceTimeAndBeginFrameForTest();
154 scheduler_.SurfaceDamaged(sid1); 156 scheduler_.SurfaceDamaged(sid1);
155 EXPECT_GT(late_deadline, scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 157 EXPECT_GT(late_deadline, scheduler_.DesiredBeginFrameDeadlineTimeForTest());
156 scheduler_.SurfaceDamaged(root_surface_id2); 158 scheduler_.SurfaceDamaged(root_surface_id2);
157 EXPECT_GE(now_src().NowTicks(), 159 EXPECT_GE(now_src().NowTicks(),
158 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 160 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
159 scheduler_.BeginFrameDeadlineForTest(); 161 scheduler_.BeginFrameDeadlineForTest();
160 } 162 }
161 163
162 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilDamagedSurface) { 164 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilDamagedSurface) {
163 SurfaceId root_surface_id(kArbitraryFrameSinkId, 165 SurfaceId root_surface_id(
164 LocalFrameId(1, base::UnguessableToken::Create())); 166 kArbitraryFrameSinkId,
167 LocalSurfaceId(1, base::UnguessableToken::Create()));
165 SurfaceId sid1(kArbitraryFrameSinkId, 168 SurfaceId sid1(kArbitraryFrameSinkId,
166 LocalFrameId(2, base::UnguessableToken::Create())); 169 LocalSurfaceId(2, base::UnguessableToken::Create()));
167 base::TimeTicks late_deadline; 170 base::TimeTicks late_deadline;
168 171
169 scheduler_.SetVisible(true); 172 scheduler_.SetVisible(true);
170 173
171 // Go trough an initial BeginFrame cycle with the root surface. 174 // Go trough an initial BeginFrame cycle with the root surface.
172 AdvanceTimeAndBeginFrameForTest(); 175 AdvanceTimeAndBeginFrameForTest();
173 scheduler_.SetNewRootSurface(root_surface_id); 176 scheduler_.SetNewRootSurface(root_surface_id);
174 scheduler_.BeginFrameDeadlineForTest(); 177 scheduler_.BeginFrameDeadlineForTest();
175 178
176 // Resize on the next begin frame cycle should cause the deadline to wait 179 // Resize on the next begin frame cycle should cause the deadline to wait
(...skipping 14 matching lines...) Expand all
191 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval(); 194 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval();
192 scheduler_.SurfaceDamaged(sid1); 195 scheduler_.SurfaceDamaged(sid1);
193 EXPECT_GT(late_deadline, scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 196 EXPECT_GT(late_deadline, scheduler_.DesiredBeginFrameDeadlineTimeForTest());
194 scheduler_.SurfaceDamaged(root_surface_id); 197 scheduler_.SurfaceDamaged(root_surface_id);
195 EXPECT_GE(now_src().NowTicks(), 198 EXPECT_GE(now_src().NowTicks(),
196 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 199 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
197 scheduler_.BeginFrameDeadlineForTest(); 200 scheduler_.BeginFrameDeadlineForTest();
198 } 201 }
199 202
200 TEST_F(DisplaySchedulerTest, SurfaceDamaged) { 203 TEST_F(DisplaySchedulerTest, SurfaceDamaged) {
201 SurfaceId root_surface_id(kArbitraryFrameSinkId, 204 SurfaceId root_surface_id(
202 LocalFrameId(0, base::UnguessableToken::Create())); 205 kArbitraryFrameSinkId,
206 LocalSurfaceId(0, base::UnguessableToken::Create()));
203 SurfaceId sid1(kArbitraryFrameSinkId, 207 SurfaceId sid1(kArbitraryFrameSinkId,
204 LocalFrameId(1, base::UnguessableToken::Create())); 208 LocalSurfaceId(1, base::UnguessableToken::Create()));
205 SurfaceId sid2(kArbitraryFrameSinkId, 209 SurfaceId sid2(kArbitraryFrameSinkId,
206 LocalFrameId(2, base::UnguessableToken::Create())); 210 LocalSurfaceId(2, base::UnguessableToken::Create()));
207 211
208 scheduler_.SetVisible(true); 212 scheduler_.SetVisible(true);
209 213
210 // Set the root surface 214 // Set the root surface
211 scheduler_.SetNewRootSurface(root_surface_id); 215 scheduler_.SetNewRootSurface(root_surface_id);
212 216
213 // Get scheduler to detect surface 1 as active by drawing 217 // Get scheduler to detect surface 1 as active by drawing
214 // two frames in a row with damage from surface 1. 218 // two frames in a row with damage from surface 1.
215 AdvanceTimeAndBeginFrameForTest(); 219 AdvanceTimeAndBeginFrameForTest();
216 scheduler_.SurfaceDamaged(sid1); 220 scheduler_.SurfaceDamaged(sid1);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 // we get damage on the root surface. 263 // we get damage on the root surface.
260 AdvanceTimeAndBeginFrameForTest(); 264 AdvanceTimeAndBeginFrameForTest();
261 EXPECT_FALSE(scheduler_.inside_begin_frame_deadline_interval()); 265 EXPECT_FALSE(scheduler_.inside_begin_frame_deadline_interval());
262 scheduler_.SurfaceDamaged(root_surface_id); 266 scheduler_.SurfaceDamaged(root_surface_id);
263 EXPECT_GE(now_src().NowTicks(), 267 EXPECT_GE(now_src().NowTicks(),
264 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 268 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
265 scheduler_.BeginFrameDeadlineForTest(); 269 scheduler_.BeginFrameDeadlineForTest();
266 } 270 }
267 271
268 TEST_F(DisplaySchedulerTest, OutputSurfaceLost) { 272 TEST_F(DisplaySchedulerTest, OutputSurfaceLost) {
269 SurfaceId root_surface_id(kArbitraryFrameSinkId, 273 SurfaceId root_surface_id(
270 LocalFrameId(0, base::UnguessableToken::Create())); 274 kArbitraryFrameSinkId,
275 LocalSurfaceId(0, base::UnguessableToken::Create()));
271 SurfaceId sid1(kArbitraryFrameSinkId, 276 SurfaceId sid1(kArbitraryFrameSinkId,
272 LocalFrameId(1, base::UnguessableToken::Create())); 277 LocalSurfaceId(1, base::UnguessableToken::Create()));
273 278
274 scheduler_.SetVisible(true); 279 scheduler_.SetVisible(true);
275 280
276 // Set the root surface 281 // Set the root surface
277 scheduler_.SetNewRootSurface(root_surface_id); 282 scheduler_.SetNewRootSurface(root_surface_id);
278 283
279 // DrawAndSwap normally. 284 // DrawAndSwap normally.
280 AdvanceTimeAndBeginFrameForTest(); 285 AdvanceTimeAndBeginFrameForTest();
281 EXPECT_LT(now_src().NowTicks(), 286 EXPECT_LT(now_src().NowTicks(),
282 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 287 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
(...skipping 11 matching lines...) Expand all
294 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 299 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
295 300
296 // Deadline does not DrawAndSwap after OutputSurfaceLost. 301 // Deadline does not DrawAndSwap after OutputSurfaceLost.
297 EXPECT_EQ(1, client_.draw_and_swap_count()); 302 EXPECT_EQ(1, client_.draw_and_swap_count());
298 scheduler_.SurfaceDamaged(sid1); 303 scheduler_.SurfaceDamaged(sid1);
299 scheduler_.BeginFrameDeadlineForTest(); 304 scheduler_.BeginFrameDeadlineForTest();
300 EXPECT_EQ(1, client_.draw_and_swap_count()); 305 EXPECT_EQ(1, client_.draw_and_swap_count());
301 } 306 }
302 307
303 TEST_F(DisplaySchedulerTest, VisibleWithoutDamageNoTicks) { 308 TEST_F(DisplaySchedulerTest, VisibleWithoutDamageNoTicks) {
304 SurfaceId root_surface_id(kArbitraryFrameSinkId, 309 SurfaceId root_surface_id(
305 LocalFrameId(0, base::UnguessableToken::Create())); 310 kArbitraryFrameSinkId,
311 LocalSurfaceId(0, base::UnguessableToken::Create()));
306 SurfaceId sid1(kArbitraryFrameSinkId, 312 SurfaceId sid1(kArbitraryFrameSinkId,
307 LocalFrameId(1, base::UnguessableToken::Create())); 313 LocalSurfaceId(1, base::UnguessableToken::Create()));
308 314
309 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); 315 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers());
310 scheduler_.SetVisible(true); 316 scheduler_.SetVisible(true);
311 317
312 // When becoming visible, don't start listening for begin frames until there 318 // When becoming visible, don't start listening for begin frames until there
313 // is some damage. 319 // is some damage.
314 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); 320 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers());
315 scheduler_.SetNewRootSurface(root_surface_id); 321 scheduler_.SetNewRootSurface(root_surface_id);
316 322
317 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); 323 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers());
318 } 324 }
319 325
320 TEST_F(DisplaySchedulerTest, VisibleWithDamageTicks) { 326 TEST_F(DisplaySchedulerTest, VisibleWithDamageTicks) {
321 SurfaceId root_surface_id(kArbitraryFrameSinkId, 327 SurfaceId root_surface_id(
322 LocalFrameId(0, base::UnguessableToken::Create())); 328 kArbitraryFrameSinkId,
329 LocalSurfaceId(0, base::UnguessableToken::Create()));
323 SurfaceId sid1(kArbitraryFrameSinkId, 330 SurfaceId sid1(kArbitraryFrameSinkId,
324 LocalFrameId(1, base::UnguessableToken::Create())); 331 LocalSurfaceId(1, base::UnguessableToken::Create()));
325 332
326 scheduler_.SetNewRootSurface(root_surface_id); 333 scheduler_.SetNewRootSurface(root_surface_id);
327 334
328 // When there is damage, start listening for begin frames once becoming 335 // When there is damage, start listening for begin frames once becoming
329 // visible. 336 // visible.
330 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); 337 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers());
331 scheduler_.SetVisible(true); 338 scheduler_.SetVisible(true);
332 339
333 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); 340 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers());
334 } 341 }
335 342
336 TEST_F(DisplaySchedulerTest, Visibility) { 343 TEST_F(DisplaySchedulerTest, Visibility) {
337 SurfaceId root_surface_id(kArbitraryFrameSinkId, 344 SurfaceId root_surface_id(
338 LocalFrameId(0, base::UnguessableToken::Create())); 345 kArbitraryFrameSinkId,
346 LocalSurfaceId(0, base::UnguessableToken::Create()));
339 SurfaceId sid1(kArbitraryFrameSinkId, 347 SurfaceId sid1(kArbitraryFrameSinkId,
340 LocalFrameId(1, base::UnguessableToken::Create())); 348 LocalSurfaceId(1, base::UnguessableToken::Create()));
341 349
342 scheduler_.SetNewRootSurface(root_surface_id); 350 scheduler_.SetNewRootSurface(root_surface_id);
343 scheduler_.SetVisible(true); 351 scheduler_.SetVisible(true);
344 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); 352 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers());
345 353
346 // DrawAndSwap normally. 354 // DrawAndSwap normally.
347 AdvanceTimeAndBeginFrameForTest(); 355 AdvanceTimeAndBeginFrameForTest();
348 EXPECT_LT(now_src().NowTicks(), 356 EXPECT_LT(now_src().NowTicks(),
349 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 357 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
350 EXPECT_EQ(0, client_.draw_and_swap_count()); 358 EXPECT_EQ(0, client_.draw_and_swap_count());
(...skipping 27 matching lines...) Expand all
378 // Does not start listening for begin frames when damage arrives. 386 // Does not start listening for begin frames when damage arrives.
379 scheduler_.SurfaceDamaged(sid1); 387 scheduler_.SurfaceDamaged(sid1);
380 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); 388 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers());
381 389
382 // But does when becoming visible with damage again. 390 // But does when becoming visible with damage again.
383 scheduler_.SetVisible(true); 391 scheduler_.SetVisible(true);
384 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); 392 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers());
385 } 393 }
386 394
387 TEST_F(DisplaySchedulerTest, ResizeCausesSwap) { 395 TEST_F(DisplaySchedulerTest, ResizeCausesSwap) {
388 SurfaceId root_surface_id(kArbitraryFrameSinkId, 396 SurfaceId root_surface_id(
389 LocalFrameId(0, base::UnguessableToken::Create())); 397 kArbitraryFrameSinkId,
398 LocalSurfaceId(0, base::UnguessableToken::Create()));
390 SurfaceId sid1(kArbitraryFrameSinkId, 399 SurfaceId sid1(kArbitraryFrameSinkId,
391 LocalFrameId(1, base::UnguessableToken::Create())); 400 LocalSurfaceId(1, base::UnguessableToken::Create()));
392 401
393 scheduler_.SetVisible(true); 402 scheduler_.SetVisible(true);
394 403
395 // Set the root surface 404 // Set the root surface
396 scheduler_.SetNewRootSurface(root_surface_id); 405 scheduler_.SetNewRootSurface(root_surface_id);
397 406
398 // DrawAndSwap normally. 407 // DrawAndSwap normally.
399 AdvanceTimeAndBeginFrameForTest(); 408 AdvanceTimeAndBeginFrameForTest();
400 EXPECT_LT(now_src().NowTicks(), 409 EXPECT_LT(now_src().NowTicks(),
401 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 410 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
402 EXPECT_EQ(0, client_.draw_and_swap_count()); 411 EXPECT_EQ(0, client_.draw_and_swap_count());
403 scheduler_.SurfaceDamaged(sid1); 412 scheduler_.SurfaceDamaged(sid1);
404 scheduler_.BeginFrameDeadlineForTest(); 413 scheduler_.BeginFrameDeadlineForTest();
405 EXPECT_EQ(1, client_.draw_and_swap_count()); 414 EXPECT_EQ(1, client_.draw_and_swap_count());
406 415
407 scheduler_.DisplayResized(); 416 scheduler_.DisplayResized();
408 AdvanceTimeAndBeginFrameForTest(); 417 AdvanceTimeAndBeginFrameForTest();
409 // DisplayResized should trigger a swap to happen. 418 // DisplayResized should trigger a swap to happen.
410 scheduler_.BeginFrameDeadlineForTest(); 419 scheduler_.BeginFrameDeadlineForTest();
411 EXPECT_EQ(2, client_.draw_and_swap_count()); 420 EXPECT_EQ(2, client_.draw_and_swap_count());
412 } 421 }
413 422
414 TEST_F(DisplaySchedulerTest, RootSurfaceResourcesLocked) { 423 TEST_F(DisplaySchedulerTest, RootSurfaceResourcesLocked) {
415 SurfaceId root_surface_id(kArbitraryFrameSinkId, 424 SurfaceId root_surface_id(
416 LocalFrameId(0, base::UnguessableToken::Create())); 425 kArbitraryFrameSinkId,
426 LocalSurfaceId(0, base::UnguessableToken::Create()));
417 SurfaceId sid1(kArbitraryFrameSinkId, 427 SurfaceId sid1(kArbitraryFrameSinkId,
418 LocalFrameId(1, base::UnguessableToken::Create())); 428 LocalSurfaceId(1, base::UnguessableToken::Create()));
419 base::TimeTicks late_deadline; 429 base::TimeTicks late_deadline;
420 430
421 scheduler_.SetVisible(true); 431 scheduler_.SetVisible(true);
422 432
423 // Set the root surface 433 // Set the root surface
424 scheduler_.SetNewRootSurface(root_surface_id); 434 scheduler_.SetNewRootSurface(root_surface_id);
425 435
426 // DrawAndSwap normally. 436 // DrawAndSwap normally.
427 AdvanceTimeAndBeginFrameForTest(); 437 AdvanceTimeAndBeginFrameForTest();
428 EXPECT_LT(now_src().NowTicks(), 438 EXPECT_LT(now_src().NowTicks(),
(...skipping 26 matching lines...) Expand all
455 scheduler_.SurfaceDamaged(root_surface_id); 465 scheduler_.SurfaceDamaged(root_surface_id);
456 EXPECT_EQ(base::TimeTicks(), 466 EXPECT_EQ(base::TimeTicks(),
457 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); 467 scheduler_.DesiredBeginFrameDeadlineTimeForTest());
458 468
459 EXPECT_EQ(1, client_.draw_and_swap_count()); 469 EXPECT_EQ(1, client_.draw_and_swap_count());
460 scheduler_.BeginFrameDeadlineForTest(); 470 scheduler_.BeginFrameDeadlineForTest();
461 EXPECT_EQ(2, client_.draw_and_swap_count()); 471 EXPECT_EQ(2, client_.draw_and_swap_count());
462 } 472 }
463 473
464 TEST_F(DisplaySchedulerTest, DidSwapBuffers) { 474 TEST_F(DisplaySchedulerTest, DidSwapBuffers) {
465 SurfaceId root_surface_id(kArbitraryFrameSinkId, 475 SurfaceId root_surface_id(
466 LocalFrameId(0, base::UnguessableToken::Create())); 476 kArbitraryFrameSinkId,
477 LocalSurfaceId(0, base::UnguessableToken::Create()));
467 SurfaceId sid1(kArbitraryFrameSinkId, 478 SurfaceId sid1(kArbitraryFrameSinkId,
468 LocalFrameId(1, base::UnguessableToken::Create())); 479 LocalSurfaceId(1, base::UnguessableToken::Create()));
469 SurfaceId sid2(kArbitraryFrameSinkId, 480 SurfaceId sid2(kArbitraryFrameSinkId,
470 LocalFrameId(2, base::UnguessableToken::Create())); 481 LocalSurfaceId(2, base::UnguessableToken::Create()));
471 482
472 scheduler_.SetVisible(true); 483 scheduler_.SetVisible(true);
473 484
474 // Set the root surface 485 // Set the root surface
475 scheduler_.SetNewRootSurface(root_surface_id); 486 scheduler_.SetNewRootSurface(root_surface_id);
476 487
477 // Get scheduler to detect surface 1 and 2 as active. 488 // Get scheduler to detect surface 1 and 2 as active.
478 AdvanceTimeAndBeginFrameForTest(); 489 AdvanceTimeAndBeginFrameForTest();
479 scheduler_.SurfaceDamaged(sid1); 490 scheduler_.SurfaceDamaged(sid1);
480 scheduler_.SurfaceDamaged(sid2); 491 scheduler_.SurfaceDamaged(sid2);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 base::TimeTicks()); 536 base::TimeTicks());
526 // Draw and swap now that we aren't throttled. 537 // Draw and swap now that we aren't throttled.
527 EXPECT_EQ(3, client_.draw_and_swap_count()); 538 EXPECT_EQ(3, client_.draw_and_swap_count());
528 scheduler_.BeginFrameDeadlineForTest(); 539 scheduler_.BeginFrameDeadlineForTest();
529 EXPECT_EQ(4, client_.draw_and_swap_count()); 540 EXPECT_EQ(4, client_.draw_and_swap_count());
530 } 541 }
531 542
532 // This test verfies that we try to reschedule the deadline 543 // This test verfies that we try to reschedule the deadline
533 // after any event that may change what deadline we want. 544 // after any event that may change what deadline we want.
534 TEST_F(DisplaySchedulerTest, ScheduleBeginFrameDeadline) { 545 TEST_F(DisplaySchedulerTest, ScheduleBeginFrameDeadline) {
535 SurfaceId root_surface_id(kArbitraryFrameSinkId, 546 SurfaceId root_surface_id(
536 LocalFrameId(1, base::UnguessableToken::Create())); 547 kArbitraryFrameSinkId,
548 LocalSurfaceId(1, base::UnguessableToken::Create()));
537 SurfaceId sid1(kArbitraryFrameSinkId, 549 SurfaceId sid1(kArbitraryFrameSinkId,
538 LocalFrameId(2, base::UnguessableToken::Create())); 550 LocalSurfaceId(2, base::UnguessableToken::Create()));
539 int count = 1; 551 int count = 1;
540 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count()); 552 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count());
541 553
542 scheduler_.SetVisible(true); 554 scheduler_.SetVisible(true);
543 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); 555 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count());
544 556
545 scheduler_.SetVisible(true); 557 scheduler_.SetVisible(true);
546 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count()); 558 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count());
547 559
548 scheduler_.SetVisible(false); 560 scheduler_.SetVisible(false);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 593
582 scheduler_.SetRootSurfaceResourcesLocked(true); 594 scheduler_.SetRootSurfaceResourcesLocked(true);
583 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); 595 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count());
584 596
585 scheduler_.OutputSurfaceLost(); 597 scheduler_.OutputSurfaceLost();
586 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); 598 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count());
587 } 599 }
588 600
589 } // namespace 601 } // namespace
590 } // namespace cc 602 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/display.cc ('k') | cc/surfaces/display_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698