| Index: cc/surfaces/compositor_frame_sink_support_unittest.cc
|
| diff --git a/cc/surfaces/compositor_frame_sink_support_unittest.cc b/cc/surfaces/compositor_frame_sink_support_unittest.cc
|
| index ed7bea2979ff827c3108111a84017db6ee89810e..83cf8edce9c5efd62c44d30f5a34cac2620b35e0 100644
|
| --- a/cc/surfaces/compositor_frame_sink_support_unittest.cc
|
| +++ b/cc/surfaces/compositor_frame_sink_support_unittest.cc
|
| @@ -153,10 +153,18 @@ class CompositorFrameSinkSupportTest : public testing::Test,
|
| this, &surface_manager_, kChildFrameSink2, false /* is_root */,
|
| true /* handles_frame_sink_id_invalidation */,
|
| true /* needs_sync_points */));
|
| +
|
| + // Normally, the BeginFrameSource would be registered by the Display. We
|
| + // register it here so that BeginFrames are received by the display support,
|
| + // for use in the PassesOnBeginFrameAcks test. Other supports do not receive
|
| + // BeginFrames, since the frame sink hierarchy is not set up in this test.
|
| + surface_manager_.RegisterBeginFrameSource(begin_frame_source_.get(),
|
| + kDisplayFrameSink);
|
| }
|
|
|
| void TearDown() override {
|
| surface_manager_.SetDependencyTracker(nullptr);
|
| + surface_manager_.UnregisterBeginFrameSource(begin_frame_source_.get());
|
|
|
| // SurfaceDependencyTracker depends on this BeginFrameSource and so it must
|
| // be destroyed AFTER the dependency tracker is destroyed.
|
| @@ -924,5 +932,20 @@ TEST_F(CompositorFrameSinkSupportTest,
|
| EXPECT_EQ(latency_sequence_number1, comp1.sequence_number);
|
| }
|
|
|
| +TEST_F(CompositorFrameSinkSupportTest, PassesOnBeginFrameAcks) {
|
| + // Request BeginFrames.
|
| + display_support().SetNeedsBeginFrame(true);
|
| +
|
| + // Issue a BeginFrame.
|
| + BeginFrameArgs args =
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 0, 1);
|
| + begin_frame_source()->TestOnBeginFrame(args);
|
| +
|
| + // Check that the support forwards our ack to the BeginFrameSource.
|
| + BeginFrameAck ack(0, 1, 1, 0, false);
|
| + display_support().DidFinishFrame(ack);
|
| + EXPECT_EQ(ack, begin_frame_source()->LastAckForObserver(&display_support()));
|
| +}
|
| +
|
| } // namespace test
|
| } // namespace cc
|
|
|