Index: cc/trees/layer_tree_host_impl_unittest.cc |
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc |
index 301bf27799b71768f3c92a65a0acfb38aba37b2f..7c90fb1625ea963e45116155840b9a53a4dd5d26 100644 |
--- a/cc/trees/layer_tree_host_impl_unittest.cc |
+++ b/cc/trees/layer_tree_host_impl_unittest.cc |
@@ -23,6 +23,7 @@ |
#include "cc/layers/texture_layer_impl.h" |
#include "cc/layers/tiled_layer_impl.h" |
#include "cc/layers/video_layer_impl.h" |
+#include "cc/output/compositor_frame_ack.h" |
#include "cc/output/compositor_frame_metadata.h" |
#include "cc/output/gl_renderer.h" |
#include "cc/quads/render_pass_draw_quad.h" |
@@ -74,9 +75,12 @@ class LayerTreeHostImplTest : public testing::Test, |
media::InitializeMediaLibraryForTesting(); |
} |
+ virtual void OverrideSettings(LayerTreeSettings* settings) {} |
+ |
virtual void SetUp() OVERRIDE { |
LayerTreeSettings settings; |
settings.minimum_occlusion_tracking_size = gfx::Size(); |
+ OverrideSettings(&settings); |
host_impl_ = LayerTreeHostImpl::Create(settings, |
this, |
@@ -4289,8 +4293,6 @@ class TestRenderer : public GLRenderer, public RendererClient { |
virtual const LayerTreeSettings& Settings() const OVERRIDE { |
return settings_; |
} |
- virtual void DidLoseOutputSurface() OVERRIDE {} |
- virtual void OnSwapBuffersComplete() OVERRIDE {} |
virtual void SetFullRootLayerDamage() OVERRIDE {} |
virtual void SetManagedMemoryPolicy(const ManagedMemoryPolicy& policy) |
OVERRIDE {} |
@@ -5047,5 +5049,33 @@ TEST_F(LayerTreeHostImplTest, MaskLayerWithDifferentBounds) { |
} |
} |
+class CompositorFrameMetadataTest : public LayerTreeHostImplTest { |
+ public: |
+ CompositorFrameMetadataTest() |
+ : swap_buffers_complete_(0) {} |
+ |
+ virtual void OverrideSettings(LayerTreeSettings* settings) OVERRIDE { |
+ settings->compositor_frame_message = true; |
+ } |
+ virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE { |
+ swap_buffers_complete_++; |
+ } |
+ |
+ int swap_buffers_complete_; |
+}; |
+ |
+TEST_F(CompositorFrameMetadataTest, CompositorFrameAckCountsAsSwapComplete) { |
+ SetupRootLayerImpl(FakeLayerWithQuads::Create(host_impl_->active_tree(), 1)); |
+ { |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
+ host_impl_->DrawLayers(&frame, base::TimeTicks()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ } |
+ CompositorFrameAck ack; |
+ host_impl_->OnSendFrameToParentCompositorAck(ack); |
+ EXPECT_EQ(swap_buffers_complete_, 1); |
+} |
+ |
} // namespace |
} // namespace cc |