| Index: cc/scheduler/begin_frame_source_unittest.cc
|
| diff --git a/cc/scheduler/begin_frame_source_unittest.cc b/cc/scheduler/begin_frame_source_unittest.cc
|
| index 0e8fd9de02764b64574d0fbf3b5713062eb17a8c..edc2471308c16d8c9b3550c56ac2370041cf81f6 100644
|
| --- a/cc/scheduler/begin_frame_source_unittest.cc
|
| +++ b/cc/scheduler/begin_frame_source_unittest.cc
|
| @@ -20,58 +20,6 @@ using testing::StrictMock;
|
| namespace cc {
|
| namespace {
|
|
|
| -// BeginFrameObserverBase testing ---------------------------------------
|
| -class MockMinimalBeginFrameObserverBase : public BeginFrameObserverBase {
|
| - public:
|
| - MOCK_METHOD1(OnBeginFrameDerivedImpl, bool(const BeginFrameArgs&));
|
| - MOCK_METHOD1(OnBeginFrameSourcePausedChanged, void(bool));
|
| - int64_t dropped_begin_frame_args() const { return dropped_begin_frame_args_; }
|
| -};
|
| -
|
| -TEST(BeginFrameObserverBaseTest, OnBeginFrameImplementation) {
|
| - using ::testing::Return;
|
| - MockMinimalBeginFrameObserverBase obs;
|
| - ::testing::InSequence ordered; // These calls should be ordered
|
| -
|
| - // Initial conditions
|
| - EXPECT_EQ(BeginFrameArgs(), obs.LastUsedBeginFrameArgs());
|
| - EXPECT_EQ(0, obs.dropped_begin_frame_args());
|
| -
|
| -#ifndef NDEBUG
|
| - EXPECT_DEATH({ obs.OnBeginFrame(BeginFrameArgs()); }, "");
|
| -#endif
|
| -
|
| - BeginFrameArgs args1 =
|
| - CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300);
|
| - EXPECT_CALL(obs, OnBeginFrameDerivedImpl(args1)).WillOnce(Return(true));
|
| - obs.OnBeginFrame(args1);
|
| - EXPECT_EQ(args1, obs.LastUsedBeginFrameArgs());
|
| - EXPECT_EQ(0, obs.dropped_begin_frame_args());
|
| -
|
| -#ifndef NDEBUG
|
| - EXPECT_DEATH({
|
| - obs.OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| - BEGINFRAME_FROM_HERE, 50, 200, 300));
|
| - },
|
| - "");
|
| -#endif
|
| -
|
| - // Returning false shouldn't update the LastUsedBeginFrameArgs value.
|
| - BeginFrameArgs args2 =
|
| - CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 200, 300, 400);
|
| - EXPECT_CALL(obs, OnBeginFrameDerivedImpl(args2)).WillOnce(Return(false));
|
| - obs.OnBeginFrame(args2);
|
| - EXPECT_EQ(args1, obs.LastUsedBeginFrameArgs());
|
| - EXPECT_EQ(1, obs.dropped_begin_frame_args());
|
| -
|
| - BeginFrameArgs args3 =
|
| - CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 150, 300, 400);
|
| - EXPECT_CALL(obs, OnBeginFrameDerivedImpl(args3)).WillOnce(Return(true));
|
| - obs.OnBeginFrame(args3);
|
| - EXPECT_EQ(args3, obs.LastUsedBeginFrameArgs());
|
| - EXPECT_EQ(1, obs.dropped_begin_frame_args());
|
| -}
|
| -
|
| // BeginFrameSource testing ----------------------------------------------
|
| TEST(BeginFrameSourceBaseTest, ObserverManipulation) {
|
| MockBeginFrameObserver obs;
|
| @@ -173,7 +121,7 @@ TEST(BeginFrameSourceBaseTest, MultipleObservers) {
|
| source.RemoveObserver(&obs2);
|
| }
|
|
|
| -class LoopingBeginFrameObserver : public BeginFrameObserverBase {
|
| +class LoopingBeginFrameObserver : public BeginFrameObserver {
|
| public:
|
| BeginFrameSource* source_;
|
|
|
| @@ -185,12 +133,15 @@ class LoopingBeginFrameObserver : public BeginFrameObserverBase {
|
| }
|
|
|
| protected:
|
| - // BeginFrameObserverBase
|
| - bool OnBeginFrameDerivedImpl(const BeginFrameArgs& args) override {
|
| - return true;
|
| + // BeginFrameObserver
|
| + const BeginFrameArgs& LastUsedBeginFrameArgs() const override {
|
| + return dummy_begin_frame_args_;
|
| }
|
| -
|
| + void OnBeginFrame(const BeginFrameArgs& args) override {}
|
| void OnBeginFrameSourcePausedChanged(bool paused) override {}
|
| +
|
| + private:
|
| + BeginFrameArgs dummy_begin_frame_args_;
|
| };
|
|
|
| TEST(BeginFrameSourceBaseTest, DetectAsValueIntoLoop) {
|
| @@ -258,7 +209,7 @@ TEST_F(BackToBackBeginFrameSourceTest, AddObserverSendsBeginFrame) {
|
|
|
| EXPECT_BEGIN_FRAME_USED(*obs_, 1100, 1100 + kDeadline, kInterval);
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| task_runner_->RunPendingTasks();
|
| }
|
|
|
| @@ -270,7 +221,7 @@ TEST_F(BackToBackBeginFrameSourceTest,
|
| task_runner_->RunPendingTasks();
|
|
|
| source_->RemoveObserver(obs_.get());
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
|
|
| EXPECT_FALSE(task_runner_->HasPendingTasks());
|
| }
|
| @@ -283,7 +234,7 @@ TEST_F(BackToBackBeginFrameSourceTest,
|
| task_runner_->RunPendingTasks();
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| source_->RemoveObserver(obs_.get());
|
|
|
| EXPECT_TRUE(task_runner_->HasPendingTasks());
|
| @@ -305,7 +256,7 @@ TEST_F(BackToBackBeginFrameSourceTest,
|
| source_->AddObserver(obs_.get());
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(10));
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(10));
|
| EXPECT_BEGIN_FRAME_USED(*obs_, 1130, 1130 + kDeadline, kInterval);
|
| @@ -321,7 +272,7 @@ TEST_F(BackToBackBeginFrameSourceTest,
|
| task_runner_->RunPendingTasks();
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(10));
|
| source_->RemoveObserver(obs_.get());
|
| @@ -340,31 +291,10 @@ TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameNoObserver) {
|
| EXPECT_BEGIN_FRAME_SOURCE_PAUSED(*obs_, false);
|
| source_->AddObserver(obs_.get());
|
| source_->RemoveObserver(obs_.get());
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| EXPECT_FALSE(task_runner_->RunPendingTasks());
|
| }
|
|
|
| -TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameRemainingFrames) {
|
| - EXPECT_BEGIN_FRAME_SOURCE_PAUSED(*obs_, false);
|
| - source_->AddObserver(obs_.get());
|
| - EXPECT_BEGIN_FRAME_USED(*obs_, 1000, 1000 + kDeadline, kInterval);
|
| - task_runner_->RunPendingTasks();
|
| -
|
| - now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| -
|
| - source_->DidFinishFrame(3);
|
| - EXPECT_FALSE(task_runner_->HasPendingTasks());
|
| - source_->DidFinishFrame(2);
|
| - EXPECT_FALSE(task_runner_->HasPendingTasks());
|
| - source_->DidFinishFrame(1);
|
| - EXPECT_FALSE(task_runner_->HasPendingTasks());
|
| -
|
| - EXPECT_BEGIN_FRAME_USED(*obs_, 1100, 1100 + kDeadline, kInterval);
|
| - source_->DidFinishFrame(0);
|
| - EXPECT_EQ(base::TimeDelta(), task_runner_->DelayToNextTaskTime());
|
| - task_runner_->RunPendingTasks();
|
| -}
|
| -
|
| TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameMultipleCallsIdempotent) {
|
| EXPECT_BEGIN_FRAME_SOURCE_PAUSED(*obs_, false);
|
| source_->AddObserver(obs_.get());
|
| @@ -372,16 +302,16 @@ TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameMultipleCallsIdempotent) {
|
| task_runner_->RunPendingTasks();
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| - source_->DidFinishFrame(0);
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| + source_->DidFinishFrame(obs_.get());
|
| + source_->DidFinishFrame(obs_.get());
|
| EXPECT_BEGIN_FRAME_USED(*obs_, 1100, 1100 + kDeadline, kInterval);
|
| task_runner_->RunPendingTasks();
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| - source_->DidFinishFrame(0);
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| + source_->DidFinishFrame(obs_.get());
|
| + source_->DidFinishFrame(obs_.get());
|
| EXPECT_BEGIN_FRAME_USED(*obs_, 1200, 1200 + kDeadline, kInterval);
|
| task_runner_->RunPendingTasks();
|
| }
|
| @@ -393,7 +323,7 @@ TEST_F(BackToBackBeginFrameSourceTest, DelayInPostedTaskProducesCorrectFrame) {
|
| task_runner_->RunPendingTasks();
|
|
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(100));
|
| - source_->DidFinishFrame(0);
|
| + source_->DidFinishFrame(obs_.get());
|
| now_src_->Advance(base::TimeDelta::FromMicroseconds(50));
|
| EXPECT_BEGIN_FRAME_USED(*obs_, 1150, 1150 + kDeadline, kInterval);
|
|
|
|
|