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); |