From 36e5ff130092eb95bf734c39d15e1ae48fad1581 Mon Sep 17 00:00:00 2001 From: "aelias@chromium.org" Date: Tue, 11 Jun 2013 12:19:29 +0000 Subject: Unified OutputSurface::SwapBuffers. This patch introduces a hard contract that CC will always call OutputSurface::SwapBuffers(), and OutputSurface will always respond with OutputSurfaceClient::OnSwapBuffersComplete(), in all rendering modes. I deleted the methods SendFrameToParentCompositor, PostSubBuffer, and OnSendFrameToParentCompositorAck, subsuming them into SwapBuffers. I also deleted all the settings and capabilities specifying which variant needed to be called. This should be a no-op for all graphics modes except for Android WebView, where it has the benefits of ensuring OnSwapBuffersComplete is called and that CompositorFrameMetadata is available even though no parent compositor exists. NOTRY=true BUG=237006 Review URL: https://chromiumcodereview.appspot.com/16304003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205501 0039d316-1c4b-4281-b951-d872f2087c98 --- cc/output/gl_renderer_unittest.cc | 49 +++++++-------------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) (limited to 'cc/output/gl_renderer_unittest.cc') diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc index c1c8842..73ba45c 100644 --- a/cc/output/gl_renderer_unittest.cc +++ b/cc/output/gl_renderer_unittest.cc @@ -264,7 +264,7 @@ class GLRendererTest : public testing::Test { virtual void SetUp() { renderer_.Initialize(); } - void SwapBuffers() { renderer_.SwapBuffers(ui::LatencyInfo()); } + void SwapBuffers() { renderer_.SwapBuffers(); } FrameCountingMemoryAllocationSettingContext* Context() { return static_cast( @@ -1552,13 +1552,11 @@ class MockOutputSurface : public OutputSurface { } virtual ~MockOutputSurface() {} - MOCK_METHOD1(SendFrameToParentCompositor, void(CompositorFrame* frame)); MOCK_METHOD0(EnsureBackbuffer, void()); MOCK_METHOD0(DiscardBackbuffer, void()); MOCK_METHOD2(Reshape, void(gfx::Size size, float scale_factor)); MOCK_METHOD0(BindFramebuffer, void()); - MOCK_METHOD2(PostSubBuffer, void(gfx::Rect rect, const ui::LatencyInfo&)); - MOCK_METHOD1(SwapBuffers, void(const ui::LatencyInfo&)); + MOCK_METHOD1(SwapBuffers, void(CompositorFrame* frame)); }; class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { @@ -1569,7 +1567,7 @@ class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { virtual void SetUp() { EXPECT_TRUE(renderer_.Initialize()); } - void SwapBuffers() { renderer_.SwapBuffers(ui::LatencyInfo()); } + void SwapBuffers() { renderer_.SwapBuffers(); } void DrawFrame() { gfx::Rect viewport_rect(DeviceViewport()); @@ -1608,62 +1606,31 @@ TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) { DrawFrame(); EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); + renderer_.SwapBuffers(); } TEST_F(MockOutputSurfaceTest, DrawFrameAndResizeAndSwap) { DrawFrame(); EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); + renderer_.SwapBuffers(); set_viewport_and_scale(gfx::Size(2, 2), 2.f); renderer_.ViewportChanged(); DrawFrame(); EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); + renderer_.SwapBuffers(); DrawFrame(); EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); + renderer_.SwapBuffers(); set_viewport_and_scale(gfx::Size(1, 1), 1.f); renderer_.ViewportChanged(); DrawFrame(); EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); -} - -class MockOutputSurfaceTestWithPartialSwap : public MockOutputSurfaceTest { - public: - virtual const LayerTreeSettings& Settings() const OVERRIDE { - static LayerTreeSettings fake_settings; - fake_settings.partial_swap_enabled = true; - return fake_settings; - } -}; - -TEST_F(MockOutputSurfaceTestWithPartialSwap, DrawFrameAndSwap) { - DrawFrame(); - - EXPECT_CALL(output_surface_, PostSubBuffer(_, _)).Times(1); - renderer_.SwapBuffers(ui::LatencyInfo()); -} - -class MockOutputSurfaceTestWithSendCompositorFrame - : public MockOutputSurfaceTest { - public: - virtual const LayerTreeSettings& Settings() const OVERRIDE { - static LayerTreeSettings fake_settings; - fake_settings.compositor_frame_message = true; - return fake_settings; - } -}; - -TEST_F(MockOutputSurfaceTestWithSendCompositorFrame, DrawFrame) { - EXPECT_CALL(output_surface_, SendFrameToParentCompositor(_)).Times(1); - DrawFrame(); + renderer_.SwapBuffers(); } class GLRendererTestSyncPoint : public GLRendererPixelTest { -- cgit v1.1