| 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 {
|
|
|