Home | History | Annotate | Download | only in scheduler

Lines Matching refs:scheduler

4 #include "cc/scheduler/scheduler.h"
24 ASSERT_LT(action_index, client.num_actions_()) << scheduler; \
42 void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler,
45 class TestScheduler : public Scheduler {
72 : Scheduler(client,
246 void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler,
249 scheduler->settings().begin_frame_scheduling_enabled &&
250 scheduler->settings().throttle_frame_production;
252 scheduler->DidCreateAndInitializeOutputSurface();
253 scheduler->SetNeedsCommit();
254 scheduler->NotifyBeginMainFrameStarted();
255 scheduler->NotifyReadyToCommit();
256 if (scheduler->settings().impl_side_painting)
257 scheduler->NotifyReadyToActivate();
260 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
265 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
267 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
269 // We need another BeginImplFrame so Scheduler calls
272 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
277 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
279 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
285 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
286 scheduler->SetCanStart();
287 scheduler->SetVisible(true);
288 scheduler->SetCanDraw(true);
292 scheduler->DidCreateAndInitializeOutputSurface();
299 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
300 scheduler->SetCanStart();
301 scheduler->SetVisible(true);
302 scheduler->SetCanDraw(true);
305 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
309 scheduler->SetNeedsCommit();
314 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
317 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
324 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
329 scheduler->NotifyBeginMainFrameStarted();
330 scheduler->NotifyReadyToCommit();
336 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
339 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
346 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
352 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
354 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
366 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
367 scheduler->SetCanStart();
368 scheduler->SetVisible(true);
369 scheduler->SetCanDraw(true);
372 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
376 scheduler->SetNeedsCommit();
380 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
383 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
389 scheduler->SetNeedsCommit();
394 scheduler->NotifyBeginMainFrameStarted();
395 scheduler->NotifyReadyToCommit();
397 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
402 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
404 // Because we just swapped, the Scheduler should also request the next
410 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
413 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
418 scheduler->NotifyBeginMainFrameStarted();
419 scheduler->NotifyReadyToCommit();
421 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
426 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
432 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
460 // 1. the scheduler dropping SetNeedsRedraw requests that happen inside
462 // 2. the scheduler drawing twice inside a single tick
466 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
467 scheduler->SetCanStart();
468 scheduler->SetVisible(true);
469 scheduler->SetCanDraw(true);
470 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
473 scheduler->SetNeedsRedraw();
474 EXPECT_TRUE(scheduler->RedrawPending());
478 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
481 EXPECT_TRUE(scheduler->RedrawPending());
484 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
487 EXPECT_FALSE(scheduler->RedrawPending());
492 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
495 EXPECT_FALSE(scheduler->RedrawPending());
503 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
504 scheduler->SetCanStart();
505 scheduler->SetVisible(true);
506 scheduler->SetCanDraw(true);
507 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
512 scheduler->SetNeedsRedraw();
513 EXPECT_TRUE(scheduler->RedrawPending());
518 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
524 EXPECT_TRUE(scheduler->CommitPending());
525 EXPECT_TRUE(scheduler->RedrawPending());
529 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
532 EXPECT_TRUE(scheduler->CommitPending());
533 EXPECT_TRUE(scheduler->RedrawPending());
538 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
541 EXPECT_TRUE(scheduler->CommitPending());
542 EXPECT_FALSE(scheduler->RedrawPending());
577 // Tests for the scheduler infinite-looping on SetNeedsCommit requests that
582 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
583 scheduler->SetCanStart();
584 scheduler->SetVisible(true);
585 scheduler->SetCanDraw(true);
586 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
590 scheduler->SetNeedsRedraw();
591 EXPECT_TRUE(scheduler->RedrawPending());
596 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
600 EXPECT_TRUE(scheduler->CommitPending());
602 scheduler->NotifyBeginMainFrameStarted();
603 scheduler->NotifyReadyToCommit();
605 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
609 EXPECT_FALSE(scheduler->RedrawPending());
610 EXPECT_FALSE(scheduler->CommitPending());
615 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
618 EXPECT_FALSE(scheduler->RedrawPending());
619 EXPECT_FALSE(scheduler->CommitPending());
627 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
628 scheduler->SetCanStart();
629 scheduler->SetVisible(true);
630 scheduler->SetCanDraw(true);
631 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
636 scheduler->SetNeedsRedraw();
637 EXPECT_TRUE(scheduler->RedrawPending());
642 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
648 EXPECT_TRUE(scheduler->CommitPending());
649 EXPECT_TRUE(scheduler->RedrawPending());
653 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
657 EXPECT_TRUE(scheduler->CommitPending());
658 EXPECT_TRUE(scheduler->RedrawPending());
663 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
666 EXPECT_TRUE(scheduler->CommitPending());
667 EXPECT_FALSE(scheduler->RedrawPending());
674 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
675 scheduler->SetCanStart();
676 scheduler->SetVisible(true);
677 scheduler->SetCanDraw(true);
678 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
681 scheduler->SetNeedsRedraw();
682 EXPECT_TRUE(scheduler->RedrawPending());
688 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
692 scheduler->SetNeedsRedraw();
693 EXPECT_TRUE(scheduler->RedrawPending());
699 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
717 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
718 scheduler->SetCanStart();
719 scheduler->SetVisible(true);
720 scheduler->SetCanDraw(true);
721 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
726 scheduler->SetNeedsManageTiles();
727 scheduler->SetNeedsRedraw();
728 EXPECT_TRUE(scheduler->RedrawPending());
729 EXPECT_TRUE(scheduler->ManageTilesPending());
738 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
741 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
751 EXPECT_FALSE(scheduler->RedrawPending());
752 EXPECT_FALSE(scheduler->ManageTilesPending());
753 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
757 scheduler->SetNeedsRedraw();
758 EXPECT_TRUE(scheduler->RedrawPending());
759 EXPECT_FALSE(scheduler->ManageTilesPending());
766 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
769 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
781 EXPECT_FALSE(scheduler->RedrawPending());
782 EXPECT_FALSE(scheduler->ManageTilesPending());
783 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
787 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
789 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
794 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
801 scheduler->SetNeedsManageTiles();
803 EXPECT_TRUE(scheduler->ManageTilesPending());
804 EXPECT_FALSE(scheduler->RedrawPending());
808 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
810 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
816 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
824 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
825 scheduler->SetCanStart();
826 scheduler->SetVisible(true);
827 scheduler->SetCanDraw(true);
828 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
831 scheduler->SetNeedsManageTiles();
832 scheduler->SetNeedsRedraw();
834 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
837 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
839 EXPECT_TRUE(scheduler->ManageTilesPending());
840 scheduler->DidManageTiles(); // An explicit ManageTiles.
841 EXPECT_FALSE(scheduler->ManageTilesPending());
848 EXPECT_FALSE(scheduler->RedrawPending());
849 EXPECT_FALSE(scheduler->ManageTilesPending());
850 scheduler->BeginImplFrameDeadlinePending());
853 scheduler->SetNeedsManageTiles();
854 scheduler->SetNeedsRedraw();
856 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
859 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
868 EXPECT_FALSE(scheduler->RedrawPending());
869 EXPECT_FALSE(scheduler->ManageTilesPending());
870 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
871 scheduler->DidManageTiles(); // Corresponds to ScheduledActionManageTiles
875 scheduler->DidManageTiles(); // An explicit ManageTiles.
876 scheduler->SetNeedsManageTiles();
877 scheduler->SetNeedsRedraw();
879 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
882 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
884 EXPECT_TRUE(scheduler->ManageTilesPending());
891 EXPECT_FALSE(scheduler->RedrawPending());
892 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
896 EXPECT_TRUE(scheduler->ManageTilesPending());
897 scheduler->DidManageTiles(); // An explicit ManageTiles.
898 EXPECT_FALSE(scheduler->ManageTilesPending());
899 scheduler->SetNeedsManageTiles();
900 scheduler->SetNeedsRedraw();
902 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
905 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
907 EXPECT_TRUE(scheduler->ManageTilesPending());
914 EXPECT_FALSE(scheduler->RedrawPending());
915 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
918 scheduler->SetNeedsManageTiles();
919 scheduler->SetNeedsRedraw();
921 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
924 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
933 EXPECT_FALSE(scheduler->RedrawPending());
934 EXPECT_FALSE(scheduler->ManageTilesPending());
935 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
936 scheduler->DidManageTiles(); // Corresponds to ScheduledActionManageTiles
943 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
944 scheduler->SetCanStart();
945 scheduler->SetVisible(true);
946 scheduler->SetCanDraw(true);
947 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
953 scheduler->SetNeedsCommit();
957 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
960 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
963 scheduler->NotifyBeginMainFrameStarted();
964 scheduler->NotifyReadyToCommit();
968 scheduler->NotifyReadyToActivate();
976 EXPECT_FALSE(scheduler->RedrawPending());
979 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
981 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
990 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
992 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1004 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
1005 scheduler->SetCanStart();
1006 scheduler->SetVisible(true);
1007 scheduler->SetCanDraw(true);
1008 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1011 scheduler->SetNeedsRedraw();
1012 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1057 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
1058 scheduler->SetCanStart();
1059 scheduler->SetVisible(true);
1060 scheduler->SetCanDraw(true);
1061 scheduler->SetSmoothnessTakesPriority(smoothness_takes_priority);
1062 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1066 scheduler->SetNeedsCommit();
1067 EXPECT_FALSE(scheduler->MainThreadIsInHighLatencyMode());
1068 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1069 EXPECT_FALSE(scheduler->MainThreadIsInHighLatencyMode());
1071 EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode());
1072 scheduler->NotifyBeginMainFrameStarted();
1073 scheduler->NotifyReadyToCommit();
1074 EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode());
1078 scheduler->SetNeedsCommit();
1079 EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode());
1080 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1081 EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode());
1083 EXPECT_EQ(scheduler->MainThreadIsInHighLatencyMode(),
1124 TestScheduler* scheduler = client.CreateScheduler(default_scheduler_settings);
1126 scheduler->SetCanDraw(true);
1127 scheduler->SetCanStart();
1128 scheduler->SetVisible(true);
1129 scheduler->DidCreateAndInitializeOutputSurface();
1131 scheduler->SetNeedsCommit();
1132 EXPECT_TRUE(scheduler->CommitPending());
1133 scheduler->NotifyBeginMainFrameStarted();
1134 scheduler->NotifyReadyToCommit();
1135 scheduler->SetNeedsRedraw();
1139 scheduler->BeginFrame(frame_args);
1141 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1143 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1145 scheduler->DidSwapBuffers();
1146 scheduler->DidSwapBuffersComplete();
1150 EXPECT_FALSE(scheduler->CommitPending());
1151 scheduler->SetNeedsCommit();
1152 scheduler->BeginFrame(frame_args);
1153 EXPECT_TRUE(scheduler->CommitPending());
1157 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1159 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1160 scheduler->DidSwapBuffers();
1170 << *scheduler->AsValue();
1179 scheduler->NotifyBeginMainFrameStarted();
1183 << *scheduler->AsValue();
1195 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1196 scheduler->SetCanStart();
1197 scheduler->SetVisible(true);
1198 scheduler->SetCanDraw(true);
1199 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1203 scheduler->SetNeedsCommit();
1212 scheduler->BeginFrame(args);
1215 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1221 scheduler->BeginFrame(args);
1223 scheduler->BeginFrame(args);
1228 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1233 scheduler->NotifyBeginMainFrameStarted();
1234 scheduler->NotifyReadyToCommit();
1243 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1250 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1258 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1270 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1271 scheduler->SetCanStart();
1272 scheduler->SetVisible(true);
1273 scheduler->SetCanDraw(true);
1274 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1277 scheduler->SetMaxSwapsPending(1);
1282 scheduler->SetNeedsCommit();
1291 scheduler->BeginFrame(args);
1294 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1299 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1301 scheduler->BeginFrame(args);
1303 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1307 scheduler->NotifyBeginMainFrameStarted();
1308 scheduler->NotifyReadyToCommit();
1317 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1323 scheduler->SetNeedsCommit();
1326 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1332 scheduler->BeginFrame(args);
1334 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1339 scheduler->DidSwapBuffersComplete();
1341 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1346 scheduler->SetNeedsRedraw();
1350 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1362 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1363 scheduler->SetCanStart();
1364 scheduler->SetVisible(true);
1365 scheduler->SetCanDraw(true);
1366 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1371 scheduler->SetNeedsCommit();
1376 // When the client-driven BeginFrame are disabled, the scheduler posts it's
1381 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1388 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1393 scheduler->NotifyBeginMainFrameStarted();
1394 scheduler->NotifyReadyToCommit();
1403 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1410 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1418 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1457 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1458 scheduler->SetCanStart();
1459 scheduler->SetVisible(true);
1460 scheduler->SetCanDraw(true);
1461 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1464 scheduler->SetMaxSwapsPending(1);
1469 scheduler->SetNeedsCommit();
1478 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1483 scheduler->NotifyBeginMainFrameStarted();
1484 scheduler->NotifyReadyToCommit();
1493 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1499 scheduler->SetNeedsCommit();
1502 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1507 scheduler->DidSwapBuffersComplete();
1509 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1514 scheduler->SetNeedsRedraw();
1518 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1548 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1549 scheduler->SetCanStart();
1550 scheduler->SetVisible(true);
1551 scheduler->SetCanDraw(true);
1555 scheduler->DidCreateAndInitializeOutputSurface();
1558 scheduler->DidLoseOutputSurface();
1565 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1566 scheduler->SetCanStart();
1567 scheduler->SetVisible(true);
1568 scheduler->SetCanDraw(true);
1571 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1574 scheduler->SetNeedsCommit();
1578 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1581 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1584 scheduler->DidLoseOutputSurface();
1589 scheduler->NotifyBeginMainFrameStarted();
1590 scheduler->NotifyReadyToCommit();
1603 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1604 scheduler->SetCanStart();
1605 scheduler->SetVisible(true);
1606 scheduler->SetCanDraw(true);
1609 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1613 scheduler->SetNeedsCommit();
1617 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1620 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1623 scheduler->DidLoseOutputSurface();
1634 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1636 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1639 scheduler->NotifyBeginMainFrameStarted();
1640 scheduler->NotifyReadyToCommit();
1666 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1667 scheduler->SetCanStart();
1668 scheduler->SetVisible(true);
1669 scheduler->SetCanDraw(true);
1672 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1676 scheduler->SetNeedsCommit();
1680 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1683 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1686 scheduler->NotifyBeginMainFrameStarted();
1687 scheduler->NotifyReadyToCommit();
1691 scheduler->DidLoseOutputSurface();
1716 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1717 scheduler->SetCanStart();
1718 scheduler->SetVisible(true);
1719 scheduler->SetCanDraw(true);
1720 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1723 scheduler->SetNeedsManageTiles();
1724 scheduler->SetNeedsRedraw();
1729 scheduler->BeginFrame(CreateBeginFrameArgsForTesting());
1732 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1735 scheduler->DidLoseOutputSurface();
1747 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1748 scheduler->SetCanStart();
1749 scheduler->SetVisible(true);
1750 scheduler->SetCanDraw(true);
1751 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1755 scheduler->SetNeedsCommit();
1764 scheduler->BeginFrame(args);
1767 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1772 scheduler->BeginFrame(args);
1774 scheduler->BeginFrame(args);
1780 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1785 scheduler->NotifyBeginMainFrameStarted();
1786 scheduler->NotifyReadyToCommit();
1791 EXPECT_FALSE(scheduler->IsBeginRetroFrameArgsEmpty());
1792 scheduler->DidLoseOutputSurface();
1795 EXPECT_TRUE(scheduler->IsBeginRetroFrameArgsEmpty());
1806 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1807 scheduler->SetCanStart();
1808 scheduler->SetVisible(true);
1809 scheduler->SetCanDraw(true);
1810 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1814 scheduler->SetNeedsCommit();
1823 scheduler->BeginFrame(args);
1826 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1831 scheduler->BeginFrame(args);
1833 scheduler->BeginFrame(args);
1839 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1844 scheduler->NotifyBeginMainFrameStarted();
1845 scheduler->NotifyReadyToCommit();
1854 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1858 EXPECT_FALSE(scheduler->IsBeginRetroFrameArgsEmpty());
1859 scheduler->DidLoseOutputSurface();
1861 EXPECT_TRUE(scheduler->IsBeginRetroFrameArgsEmpty());
1867 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1881 TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
1882 scheduler->SetCanStart();
1883 scheduler->SetVisible(true);
1884 scheduler->SetCanDraw(true);
1885 InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
1889 EXPECT_FALSE(scheduler->IsSyntheticBeginFrameSourceActive());
1890 scheduler->SetNeedsCommit();
1891 EXPECT_TRUE(scheduler->IsSyntheticBeginFrameSourceActive());
1897 EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
1898 EXPECT_TRUE(scheduler->IsSyntheticBeginFrameSourceActive());
1902 scheduler->NotifyBeginMainFrameStarted();
1903 scheduler->NotifyReadyToCommit();
1905 EXPECT_TRUE(scheduler->IsSyntheticBeginFrameSourceActive());
1908 scheduler->DidLoseOutputSurface();
1910 EXPECT_FALSE(scheduler->IsSyntheticBeginFrameSourceActive());
1915 EXPECT_FALSE(scheduler->IsSyntheticBeginFrameSourceActive());