Index: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
index 6800c342bfa7cfdc26a132af41f112589f57b771..3bbc617245152047df8e1be9c181df80bf8e1434 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
@@ -3310,155 +3310,9 @@ class LastObserverTracker : public cc::FakeExternalBeginFrameSource::Client { |
}; |
} // namespace |
-// Tests that BeginFrameAcks are forwarded correctly from the |
-// SwapCompositorFrame and OnDidNotProduceFrame IPCs through DelegatedFrameHost |
-// and its CompositorFrameSinkSupport. |
-TEST_F(RenderWidgetHostViewAuraTest, ForwardsBeginFrameAcks) { |
- gfx::Rect view_rect(100, 100); |
- gfx::Size frame_size = view_rect.size(); |
- cc::LocalSurfaceId local_surface_id = kArbitraryLocalSurfaceId; |
- |
- view_->InitAsChild(nullptr); |
- aura::client::ParentWindowWithContext( |
- view_->GetNativeView(), parent_view_->GetNativeView()->GetRootWindow(), |
- gfx::Rect()); |
- view_->SetSize(view_rect.size()); |
- |
- // Replace BeginFrameSource so that we can observe acknowledgments. Since the |
- // DelegatedFrameHost doesn't directly observe our BeginFrameSource, |
- // |observer_tracker| grabs a pointer to the observer (the |
- // DelegatedFrameHost's CompositorFrameSinkSupport). |
- LastObserverTracker observer_tracker; |
- cc::FakeExternalBeginFrameSource source(0.f, false); |
- uint32_t source_id = source.source_id(); |
- source.SetClient(&observer_tracker); |
- cc::FrameSinkId frame_sink_id = |
- view_->GetDelegatedFrameHost()->GetFrameSinkId(); |
- ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
- cc::SurfaceManager* surface_manager = |
- factory->GetContextFactoryPrivate()->GetSurfaceManager(); |
- surface_manager->RegisterBeginFrameSource(&source, frame_sink_id); |
- view_->SetNeedsBeginFrames(true); |
- EXPECT_TRUE(observer_tracker.last_observer_); |
- |
- { |
- cc::BeginFrameArgs args = |
- cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 5u); |
- source.TestOnBeginFrame(args); |
- |
- // Ack from CompositorFrame is forwarded. |
- cc::BeginFrameAck ack(source_id, 5, 4, true); |
- cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect); |
- frame.metadata.begin_frame_ack = ack; |
- view_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
- view_->RunOnCompositingDidCommit(); |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- { |
- cc::BeginFrameArgs args = |
- cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 6u); |
- source.TestOnBeginFrame(args); |
- |
- // Explicit ack through OnDidNotProduceFrame is forwarded. |
- cc::BeginFrameAck ack(source_id, 6, 4, false); |
- view_->OnDidNotProduceFrame(ack); |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- // Lock the compositor. Now we should drop frames and, thus, |
- // latest_confirmed_sequence_number should not change. |
- view_rect = gfx::Rect(150, 150); |
- view_->SetSize(view_rect.size()); |
- |
- { |
- cc::BeginFrameArgs args = |
- cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 7u); |
- source.TestOnBeginFrame(args); |
- |
- // Ack from CompositorFrame is forwarded with old |
- // latest_confirmed_sequence_number and without damage. |
- cc::BeginFrameAck ack(source_id, 7, 7, true); |
- gfx::Rect dropped_damage_rect(10, 20, 30, 40); |
- cc::CompositorFrame frame = |
- MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect); |
- frame.metadata.begin_frame_ack = ack; |
- view_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
- view_->RunOnCompositingDidCommit(); |
- ack.latest_confirmed_sequence_number = 4; |
- ack.has_damage = false; |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- // Change source_id known to the view. This should reset the |
- // latest_confirmed_sequence_number tracked by the view. |
- source_id = cc::BeginFrameArgs::kManualSourceId; |
- |
- { |
- cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( |
- BEGINFRAME_FROM_HERE, source_id, 10u); |
- source.TestOnBeginFrame(args); |
- |
- // Ack from CompositorFrame is forwarded with invalid |
- // latest_confirmed_sequence_number and without damage. |
- cc::BeginFrameAck ack(source_id, 10, 10, true); |
- gfx::Rect dropped_damage_rect(10, 20, 30, 40); |
- cc::CompositorFrame frame = |
- MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect); |
- frame.metadata.begin_frame_ack = ack; |
- view_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
- view_->RunOnCompositingDidCommit(); |
- ack.latest_confirmed_sequence_number = |
- cc::BeginFrameArgs::kInvalidFrameNumber; |
- ack.has_damage = false; |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- { |
- cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( |
- BEGINFRAME_FROM_HERE, source_id, 11u); |
- source.TestOnBeginFrame(args); |
- |
- // Explicit ack through OnDidNotProduceFrame is forwarded with invalid |
- // latest_confirmed_sequence_number. |
- cc::BeginFrameAck ack(source_id, 11, 11, false); |
- view_->OnDidNotProduceFrame(ack); |
- ack.latest_confirmed_sequence_number = |
- cc::BeginFrameArgs::kInvalidFrameNumber; |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- // Unlock the compositor again with a new CompositorFrame of correct size. |
- frame_size = view_rect.size(); |
- local_surface_id = local_surface_id_allocator_.GenerateId(); |
- |
- { |
- cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( |
- BEGINFRAME_FROM_HERE, source_id, 12u); |
- source.TestOnBeginFrame(args); |
- |
- // Ack from CompositorFrame is forwarded. |
- cc::BeginFrameAck ack(source_id, 12, 12, true); |
- cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect); |
- frame.metadata.begin_frame_ack = ack; |
- view_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
- view_->RunOnCompositingDidCommit(); |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- { |
- cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( |
- BEGINFRAME_FROM_HERE, source_id, 13u); |
- source.TestOnBeginFrame(args); |
- |
- // Explicit ack through OnDidNotProduceFrame is forwarded. |
- cc::BeginFrameAck ack(source_id, 13, 13, false); |
- view_->OnDidNotProduceFrame(ack); |
- EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); |
- } |
- |
- surface_manager->UnregisterBeginFrameSource(&source); |
-} |
+// TODO(eseckler): Add back tests for BeginFrameAck forwarding through |
+// RenderWidgetHostViewAura and CompositorFrameSinkSupport when we add plumbing |
+// of BeginFrameAcks through SurfaceObservers. |
class RenderWidgetHostViewAuraCopyRequestTest |
: public RenderWidgetHostViewAuraShutdownTest { |