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

Unified Diff: cc/layer_tree_host_impl_unittest.cc

Issue 11779008: Fix metadata content size. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Change second test pageScaleFactor to 4 Created 7 years, 11 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
« no previous file with comments | « cc/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layer_tree_host_impl_unittest.cc
diff --git a/cc/layer_tree_host_impl_unittest.cc b/cc/layer_tree_host_impl_unittest.cc
index fea6e22776f155044c7a1099349a5e0e1a583c61..5309ba010993c81499845f76baa270df84c21c1f 100644
--- a/cc/layer_tree_host_impl_unittest.cc
+++ b/cc/layer_tree_host_impl_unittest.cc
@@ -882,6 +882,66 @@ TEST_P(LayerTreeHostImplTest, inhibitScrollAndPageScaleUpdatesWhileAnimatingPage
expectContains(*scrollInfo, scrollLayer->id(), scaledTarget);
}
+TEST_P(LayerTreeHostImplTest, compositorFrameMetadata)
+{
+ setupScrollAndContentsLayers(gfx::Size(100, 100));
+ m_hostImpl->setViewportSize(gfx::Size(50, 50), gfx::Size(50, 50));
+ m_hostImpl->setPageScaleFactorAndLimits(1, 0.5f, 4);
+ initializeRendererAndDrawFrame();
+
+ {
+ CompositorFrameMetadata metadata = m_hostImpl->makeCompositorFrameMetadata();
+ EXPECT_EQ(gfx::Vector2dF(0, 0), metadata.root_scroll_offset);
danakj 2013/01/07 19:40:24 might as well style nit this now since we'll just
+ EXPECT_EQ(1, metadata.page_scale_factor);
+ EXPECT_EQ(gfx::SizeF(50, 50), metadata.viewport_size);
+ EXPECT_EQ(gfx::SizeF(100, 100), metadata.root_layer_size);
+ EXPECT_EQ(0.5f, metadata.min_page_scale_factor);
+ EXPECT_EQ(4, metadata.max_page_scale_factor);
+ }
+
+ // Scrolling should update metadata immediately.
+ EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(0, 0), InputHandlerClient::Wheel), InputHandlerClient::ScrollStarted);
+ m_hostImpl->scrollBy(gfx::Point(), gfx::Vector2d(0, 10));
+ {
+ CompositorFrameMetadata metadata = m_hostImpl->makeCompositorFrameMetadata();
+ EXPECT_EQ(gfx::Vector2dF(0, 10), metadata.root_scroll_offset);
+ }
+ m_hostImpl->scrollEnd();
+
+ {
+ CompositorFrameMetadata metadata = m_hostImpl->makeCompositorFrameMetadata();
+ EXPECT_EQ(gfx::Vector2dF(0, 10), metadata.root_scroll_offset);
+ }
+
+ // Page scale should update metadata correctly (shrinking only the viewport).
+ m_hostImpl->pinchGestureBegin();
+ m_hostImpl->pinchGestureUpdate(2, gfx::Point(0, 0));
+ m_hostImpl->pinchGestureEnd();
+
+ {
+ CompositorFrameMetadata metadata = m_hostImpl->makeCompositorFrameMetadata();
+ EXPECT_EQ(gfx::Vector2dF(0, 10), metadata.root_scroll_offset);
+ EXPECT_EQ(2, metadata.page_scale_factor);
+ EXPECT_EQ(gfx::SizeF(25, 25), metadata.viewport_size);
+ EXPECT_EQ(gfx::SizeF(100, 100), metadata.root_layer_size);
+ EXPECT_EQ(0.5f, metadata.min_page_scale_factor);
+ EXPECT_EQ(4, metadata.max_page_scale_factor);
+ }
+
+ // Likewise if set from the main thread.
+ m_hostImpl->processScrollDeltas();
+ m_hostImpl->setPageScaleFactorAndLimits(4, 0.5f, 4);
+ {
+ CompositorFrameMetadata metadata = m_hostImpl->makeCompositorFrameMetadata();
+ EXPECT_EQ(gfx::Vector2dF(0, 10), metadata.root_scroll_offset);
+ EXPECT_EQ(4, metadata.page_scale_factor);
+ EXPECT_EQ(gfx::SizeF(12.5f, 12.5f), metadata.viewport_size);
+ EXPECT_EQ(gfx::SizeF(100, 100), metadata.root_layer_size);
+ EXPECT_EQ(0.5f, metadata.min_page_scale_factor);
+ EXPECT_EQ(4, metadata.max_page_scale_factor);
+ }
+}
+
class DidDrawCheckLayer : public TiledLayerImpl {
public:
static scoped_ptr<LayerImpl> create(LayerTreeImpl* treeImpl, int id) { return scoped_ptr<LayerImpl>(new DidDrawCheckLayer(treeImpl, id)); }
« no previous file with comments | « cc/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698