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 8250c6c52c5188d646fb46197a0b3ab97c485421..eac6507e25ae96c238bf80260eca4da37317835f 100644 |
--- a/cc/scheduler/begin_frame_source_unittest.cc |
+++ b/cc/scheduler/begin_frame_source_unittest.cc |
@@ -73,7 +73,8 @@ TEST_F(BackToBackBeginFrameSourceTest, AddObserverSendsBeginFrame) { |
EXPECT_BEGIN_FRAME_USED(*obs_, source_->source_id(), 2, 1100, |
1100 + kDeadline, kInterval); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
task_runner_->RunPendingTasks(); |
} |
@@ -86,7 +87,8 @@ TEST_F(BackToBackBeginFrameSourceTest, |
task_runner_->RunPendingTasks(); |
source_->RemoveObserver(obs_.get()); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
// Verify no BeginFrame is sent to |obs_|. There is a pending task in the |
// task_runner_ as a BeginFrame was posted, but it gets aborted since |obs_| |
@@ -104,7 +106,8 @@ TEST_F(BackToBackBeginFrameSourceTest, |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
source_->RemoveObserver(obs_.get()); |
EXPECT_TRUE(task_runner_->HasPendingTasks()); |
@@ -127,7 +130,8 @@ TEST_F(BackToBackBeginFrameSourceTest, |
source_->AddObserver(obs_.get()); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(10)); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(10)); |
// The begin frame is posted at the time when the observer was added, |
@@ -147,7 +151,8 @@ TEST_F(BackToBackBeginFrameSourceTest, |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(10)); |
source_->RemoveObserver(obs_.get()); |
@@ -169,7 +174,8 @@ TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameNoObserver) { |
EXPECT_BEGIN_FRAME_SOURCE_PAUSED(*obs_, false); |
source_->AddObserver(obs_.get()); |
source_->RemoveObserver(obs_.get()); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
EXPECT_FALSE(task_runner_->RunPendingTasks()); |
} |
@@ -187,16 +193,20 @@ TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameRemainingFrames) { |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 3); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 3, true)); |
EXPECT_FALSE(task_runner_->HasPendingTasks()); |
- source_->DidFinishFrame(obs_.get(), 2); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 2, true)); |
EXPECT_FALSE(task_runner_->HasPendingTasks()); |
- source_->DidFinishFrame(obs_.get(), 1); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 1, true)); |
EXPECT_FALSE(task_runner_->HasPendingTasks()); |
EXPECT_BEGIN_FRAME_USED(*obs_, source_->source_id(), 2, 1100, |
1100 + kDeadline, kInterval); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
EXPECT_EQ(base::TimeDelta(), task_runner_->DelayToNextTaskTime()); |
task_runner_->RunPendingTasks(); |
} |
@@ -209,17 +219,23 @@ TEST_F(BackToBackBeginFrameSourceTest, DidFinishFrameMultipleCallsIdempotent) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
- source_->DidFinishFrame(obs_.get(), 0); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
EXPECT_BEGIN_FRAME_USED(*obs_, source_->source_id(), 2, 1100, |
1100 + kDeadline, kInterval); |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
- source_->DidFinishFrame(obs_.get(), 0); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
EXPECT_BEGIN_FRAME_USED(*obs_, source_->source_id(), 3, 1200, |
1200 + kDeadline, kInterval); |
task_runner_->RunPendingTasks(); |
@@ -233,7 +249,8 @@ TEST_F(BackToBackBeginFrameSourceTest, DelayInPostedTaskProducesCorrectFrame) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(obs_.get(), 0); |
+ source_->DidFinishFrame(obs_.get(), |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(50)); |
// Ticks at the time the last frame finished, so ignores the last change to |
// "now". |
@@ -259,8 +276,10 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversSynchronized) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs1, 0); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
EXPECT_BEGIN_FRAME_USED(obs1, source_->source_id(), 2, 1100, 1100 + kDeadline, |
kInterval); |
EXPECT_BEGIN_FRAME_USED(obs2, source_->source_id(), 2, 1100, 1100 + kDeadline, |
@@ -268,8 +287,10 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversSynchronized) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs1, 0); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
EXPECT_TRUE(task_runner_->HasPendingTasks()); |
source_->RemoveObserver(&obs1); |
source_->RemoveObserver(&obs2); |
@@ -293,12 +314,14 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversInterleaved) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs1, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
EXPECT_BEGIN_FRAME_USED(obs1, source_->source_id(), 3, 1200, 1200 + kDeadline, |
kInterval); |
task_runner_->RunPendingTasks(); |
- source_->DidFinishFrame(&obs1, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 3, 3, 0, true)); |
source_->RemoveObserver(&obs1); |
// Removing all finished observers should disable the time source. |
EXPECT_FALSE(delay_based_time_source_->Active()); |
@@ -307,12 +330,14 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversInterleaved) { |
task_runner_->RunPendingTasks(); |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
EXPECT_BEGIN_FRAME_USED(obs2, source_->source_id(), 4, 1300, 1300 + kDeadline, |
kInterval); |
task_runner_->RunPendingTasks(); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 4, 4, 0, true)); |
source_->RemoveObserver(&obs2); |
} |
@@ -331,11 +356,13 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversAtOnce) { |
// |obs1| finishes first. |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs1, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
// |obs2| finishes also, before getting to the newly posted begin frame. |
now_src_->Advance(base::TimeDelta::FromMicroseconds(100)); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 1, 1, 0, true)); |
// Because the begin frame source already ticked when |obs1| finished, |
// we see it as the frame time for both observers. |
@@ -345,9 +372,11 @@ TEST_F(BackToBackBeginFrameSourceTest, MultipleObserversAtOnce) { |
kInterval); |
task_runner_->RunPendingTasks(); |
- source_->DidFinishFrame(&obs1, 0); |
+ source_->DidFinishFrame(&obs1, |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
source_->RemoveObserver(&obs1); |
- source_->DidFinishFrame(&obs2, 0); |
+ source_->DidFinishFrame(&obs2, |
+ BeginFrameAck(source_->source_id(), 2, 2, 0, true)); |
source_->RemoveObserver(&obs2); |
} |