Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 2897053002: [cc] Remove BeginFrameAck from BFS::DidFinishFrame and update tests. (Closed)
Patch Set: sync for PrimaryBFS Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698