#include "cc/trees/image_animation_controller.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/gtest_util.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace cc {
class FakeAnimationDriver : public ImageAnimationController::AnimationDriver { … };
class DelayTrackingTaskRunner : public base::SingleThreadTaskRunner { … };
class ImageAnimationControllerTest : public testing::Test,
public ImageAnimationController::Client { … };
TEST_F(ImageAnimationControllerTest, AnimationWithDelays) { … }
TEST_F(ImageAnimationControllerTest, DriversControlAnimationTicking) { … }
TEST_F(ImageAnimationControllerTest, RepetitionsRequested) { … }
TEST_F(ImageAnimationControllerTest, DisplayCompleteFrameOnly) { … }
TEST_F(ImageAnimationControllerTest, DontLoopPartiallyLoadedImages) { … }
TEST_F(ImageAnimationControllerTest, DontAdvanceUntilDesiredTime) { … }
TEST_F(ImageAnimationControllerTest, RestartAfterSyncCutoff) { … }
TEST_F(ImageAnimationControllerTest, DontSkipLoopsToCatchUpAfterLoad) { … }
TEST_F(ImageAnimationControllerTest, FinishRepetitionsDuringCatchUp) { … }
TEST_F(ImageAnimationControllerTest, ResetAnimations) { … }
TEST_F(ImageAnimationControllerTest, ResetAnimationStateMapOnNavigation) { … }
TEST_F(ImageAnimationControllerTest, ImageWithNonVsyncAlignedDurations) { … }
TEST_F(ImageAnimationControllerTest, ImageWithLessThanIntervalDurations) { … }
TEST_F(ImageAnimationControllerTest, ImplFramesWhileInvalidationPending) { … }
TEST_F(ImageAnimationControllerTest, MissedBeginFrameAfterRequest) { … }
class ImageAnimationControllerNoResyncTest
: public ImageAnimationControllerTest { … };
TEST_F(ImageAnimationControllerNoResyncTest, NoSyncCutoffAfterIdle) { … }
TEST_F(ImageAnimationControllerNoResyncTest, SkipsLoopsAfterFirstIteration) { … }
TEST_F(ImageAnimationControllerNoResyncTest,
ComputeConsistentContentFrameDuration) { … }
}