| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/output/filter_operation.h" | 7 #include "cc/output/filter_operation.h" |
| 8 #include "cc/output/filter_operations.h" | 8 #include "cc/output/filter_operations.h" |
| 9 #include "cc/test/fake_impl_proxy.h" | 9 #include "cc/test/fake_impl_proxy.h" |
| 10 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 // Create a simple LayerImpl tree: | 63 // Create a simple LayerImpl tree: |
| 64 FakeImplProxy proxy; | 64 FakeImplProxy proxy; |
| 65 FakeLayerTreeHostImpl host_impl(&proxy); | 65 FakeLayerTreeHostImpl host_impl(&proxy); |
| 66 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 66 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); |
| 67 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); | 67 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); |
| 68 root->AddChild(LayerImpl::Create(host_impl.active_tree(), 2)); | 68 root->AddChild(LayerImpl::Create(host_impl.active_tree(), 2)); |
| 69 LayerImpl* child = root->children()[0]; | 69 LayerImpl* child = root->children()[0]; |
| 70 child->AddChild(LayerImpl::Create(host_impl.active_tree(), 3)); | 70 child->AddChild(LayerImpl::Create(host_impl.active_tree(), 3)); |
| 71 LayerImpl* grand_child = child->children()[0]; | 71 LayerImpl* grand_child = child->children()[0]; |
| 72 | 72 |
| 73 root->SetScrollable(true); | 73 root->SetScrollable(42); // WJM |
| 74 | 74 |
| 75 // Adding children is an internal operation and should not mark layers as | 75 // Adding children is an internal operation and should not mark layers as |
| 76 // changed. | 76 // changed. |
| 77 EXPECT_FALSE(root->LayerPropertyChanged()); | 77 EXPECT_FALSE(root->LayerPropertyChanged()); |
| 78 EXPECT_FALSE(child->LayerPropertyChanged()); | 78 EXPECT_FALSE(child->LayerPropertyChanged()); |
| 79 EXPECT_FALSE(grand_child->LayerPropertyChanged()); | 79 EXPECT_FALSE(grand_child->LayerPropertyChanged()); |
| 80 | 80 |
| 81 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); | 81 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); |
| 82 float arbitrary_number = 0.352f; | 82 float arbitrary_number = 0.352f; |
| 83 gfx::Size arbitrary_size = gfx::Size(111, 222); | 83 gfx::Size arbitrary_size = gfx::Size(111, 222); |
| 84 gfx::Point arbitrary_point = gfx::Point(333, 444); | 84 gfx::Point arbitrary_point = gfx::Point(333, 444); |
| 85 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); | 85 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); |
| 86 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); | 86 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); |
| 87 gfx::RectF arbitrary_rect_f = | 87 gfx::RectF arbitrary_rect_f = |
| 88 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); | 88 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); |
| 89 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); | 89 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); |
| 90 gfx::Transform arbitrary_transform; | 90 gfx::Transform arbitrary_transform; |
| 91 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); | 91 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
| 92 FilterOperations arbitrary_filters; | 92 FilterOperations arbitrary_filters; |
| 93 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 93 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 94 | 94 |
| 95 // These properties are internal, and should not be considered "change" when | 95 // These properties are internal, and should not be considered "change" when |
| 96 // they are used. | 96 // they are used. |
| 97 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 97 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 98 root->set_update_rect(arbitrary_rect_f)); | 98 root->set_update_rect(arbitrary_rect_f)); |
| 99 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 99 // TODO(wjmaclean) - SMSO Add clip layer to test. |
| 100 root->SetMaxScrollOffset(arbitrary_vector2d)); | 100 // EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 101 // root->SetMaxScrollOffset(arbitrary_vector2d)); |
| 101 | 102 |
| 102 // Changing these properties affects the entire subtree of layers. | 103 // Changing these properties affects the entire subtree of layers. |
| 103 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPoint(arbitrary_point_f)); | 104 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPoint(arbitrary_point_f)); |
| 104 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPointZ(arbitrary_number)); | 105 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPointZ(arbitrary_number)); |
| 105 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(arbitrary_filters)); | 106 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(arbitrary_filters)); |
| 106 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(FilterOperations())); | 107 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(FilterOperations())); |
| 107 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( | 108 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( |
| 108 root->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4))); | 109 root->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4))); |
| 109 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetMasksToBounds(true)); | 110 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetMasksToBounds(true)); |
| 110 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true)); | 111 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true)); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 177 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 177 root->SetSublayerTransform(arbitrary_transform)); | 178 root->SetSublayerTransform(arbitrary_transform)); |
| 178 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); | 179 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); |
| 179 } | 180 } |
| 180 | 181 |
| 181 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { | 182 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { |
| 182 FakeImplProxy proxy; | 183 FakeImplProxy proxy; |
| 183 FakeLayerTreeHostImpl host_impl(&proxy); | 184 FakeLayerTreeHostImpl host_impl(&proxy); |
| 184 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 185 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); |
| 185 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); | 186 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); |
| 186 root->SetScrollable(true); | 187 root->SetScrollable(42); // WJM |
| 187 | 188 |
| 188 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); | 189 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); |
| 189 float arbitrary_number = 0.352f; | 190 float arbitrary_number = 0.352f; |
| 190 gfx::Size arbitrary_size = gfx::Size(111, 222); | 191 gfx::Size arbitrary_size = gfx::Size(111, 222); |
| 191 gfx::Point arbitrary_point = gfx::Point(333, 444); | 192 gfx::Point arbitrary_point = gfx::Point(333, 444); |
| 192 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); | 193 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); |
| 193 gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); | 194 // gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); // WJM - not used |
| 194 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); | 195 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); |
| 195 gfx::RectF arbitrary_rect_f = | 196 gfx::RectF arbitrary_rect_f = |
| 196 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); | 197 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); |
| 197 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); | 198 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); |
| 198 gfx::Transform arbitrary_transform; | 199 gfx::Transform arbitrary_transform; |
| 199 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); | 200 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
| 200 FilterOperations arbitrary_filters; | 201 FilterOperations arbitrary_filters; |
| 201 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 202 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 202 | 203 |
| 203 // Related filter functions. | 204 // Related filter functions. |
| 204 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 205 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 205 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 206 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 206 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); | 207 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); |
| 207 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 208 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 208 | 209 |
| 209 // Related scrolling functions. | 210 // Related scrolling functions. |
| 210 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)); | 211 // TODO(wjmaclean) - SMSO Add clip layer to test. |
| 211 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 212 // VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)
); |
| 212 root->SetMaxScrollOffset(large_vector2d)); | 213 // VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 214 // root->SetMaxScrollOffset(large_vector2d)); |
| 213 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(arbitrary_vector2d)); | 215 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(arbitrary_vector2d)); |
| 214 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(gfx::Vector2d())); | 216 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->ScrollBy(gfx::Vector2d())); |
| 215 root->SetScrollDelta(gfx::Vector2d(0, 0)); | 217 root->SetScrollDelta(gfx::Vector2d(0, 0)); |
| 216 host_impl.ForcePrepareToDraw(); | 218 host_impl.ForcePrepareToDraw(); |
| 217 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetScrollDelta(arbitrary_vector2d)); | 219 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetScrollDelta(arbitrary_vector2d)); |
| 218 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 220 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 219 root->SetScrollDelta(arbitrary_vector2d)); | 221 root->SetScrollDelta(arbitrary_vector2d)); |
| 220 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 222 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 221 root->SetScrollOffset(arbitrary_vector2d)); | 223 root->SetScrollOffset(arbitrary_vector2d)); |
| 222 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 224 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 } | 305 } |
| 304 } | 306 } |
| 305 } | 307 } |
| 306 } | 308 } |
| 307 | 309 |
| 308 class LayerImplScrollTest : public testing::Test { | 310 class LayerImplScrollTest : public testing::Test { |
| 309 public: | 311 public: |
| 310 LayerImplScrollTest() : host_impl_(&proxy_), root_id_(7) { | 312 LayerImplScrollTest() : host_impl_(&proxy_), root_id_(7) { |
| 311 host_impl_.active_tree() | 313 host_impl_.active_tree() |
| 312 ->SetRootLayer(LayerImpl::Create(host_impl_.active_tree(), root_id_)); | 314 ->SetRootLayer(LayerImpl::Create(host_impl_.active_tree(), root_id_)); |
| 313 host_impl_.active_tree()->root_layer()->SetScrollable(true); | 315 host_impl_.active_tree()->root_layer()->SetScrollable(42); // WJM |
| 314 } | 316 } |
| 315 | 317 |
| 316 LayerImpl* layer() { return host_impl_.active_tree()->root_layer(); } | 318 LayerImpl* layer() { return host_impl_.active_tree()->root_layer(); } |
| 317 | 319 |
| 318 private: | 320 private: |
| 319 FakeImplProxy proxy_; | 321 FakeImplProxy proxy_; |
| 320 FakeLayerTreeHostImpl host_impl_; | 322 FakeLayerTreeHostImpl host_impl_; |
| 321 int root_id_; | 323 int root_id_; |
| 322 }; | 324 }; |
| 323 | 325 |
| 324 TEST_F(LayerImplScrollTest, ScrollByWithZeroOffset) { | 326 TEST_F(LayerImplScrollTest, ScrollByWithZeroOffset) { |
| 325 // Test that LayerImpl::ScrollBy only affects ScrollDelta and total scroll | 327 // Test that LayerImpl::ScrollBy only affects ScrollDelta and total scroll |
| 326 // offset is bounded by the range [0, max scroll offset]. | 328 // offset is bounded by the range [0, max scroll offset]. |
| 327 gfx::Vector2d max_scroll_offset(50, 80); | 329 // TODO(wjmaclean) - SMSO Add clip layer. |
| 328 layer()->SetMaxScrollOffset(max_scroll_offset); | 330 // gfx::Vector2d max_scroll_offset(50, 80); |
| 331 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 329 | 332 |
| 330 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->TotalScrollOffset()); | 333 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->TotalScrollOffset()); |
| 331 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 334 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
| 332 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 335 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
| 333 | 336 |
| 334 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 337 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
| 335 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 338 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
| 336 | 339 |
| 337 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); | 340 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); |
| 338 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 341 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
| 339 | 342 |
| 340 layer()->ScrollBy(gfx::Vector2dF(100, -100)); | 343 layer()->ScrollBy(gfx::Vector2dF(100, -100)); |
| 341 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); | 344 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); |
| 342 | 345 |
| 343 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); | 346 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); |
| 344 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 347 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
| 345 } | 348 } |
| 346 | 349 |
| 347 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) { | 350 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) { |
| 348 gfx::Vector2d max_scroll_offset(50, 80); | 351 // gfx::Vector2d max_scroll_offset(50, 80); |
| 352 // TODO(wjmaclean) - SMSO Add clip layer. |
| 349 gfx::Vector2d scroll_offset(10, 5); | 353 gfx::Vector2d scroll_offset(10, 5); |
| 350 layer()->SetMaxScrollOffset(max_scroll_offset); | 354 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 351 layer()->SetScrollOffset(scroll_offset); | 355 layer()->SetScrollOffset(scroll_offset); |
| 352 | 356 |
| 353 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 357 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
| 354 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 358 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 355 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 359 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
| 356 | 360 |
| 357 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 361 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
| 358 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 362 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
| 359 | 363 |
| 360 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, | 364 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 383 } | 387 } |
| 384 | 388 |
| 385 virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} | 389 virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} |
| 386 virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} | 390 virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} |
| 387 | 391 |
| 388 private: | 392 private: |
| 389 gfx::Vector2dF fixed_offset_; | 393 gfx::Vector2dF fixed_offset_; |
| 390 }; | 394 }; |
| 391 | 395 |
| 392 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { | 396 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { |
| 393 gfx::Vector2d max_scroll_offset(50, 80); | 397 // TODO(wjmaclean) - SMSO Add clip layer. |
| 398 // gfx::Vector2d max_scroll_offset(50, 80); |
| 394 gfx::Vector2d scroll_offset(10, 5); | 399 gfx::Vector2d scroll_offset(10, 5); |
| 395 layer()->SetMaxScrollOffset(max_scroll_offset); | 400 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 396 layer()->SetScrollOffset(scroll_offset); | 401 layer()->SetScrollOffset(scroll_offset); |
| 397 | 402 |
| 398 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 403 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
| 399 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 404 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 400 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 405 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
| 401 | 406 |
| 402 ScrollDelegateIgnore delegate; | 407 ScrollDelegateIgnore delegate; |
| 403 gfx::Vector2dF fixed_offset(32, 12); | 408 gfx::Vector2dF fixed_offset(32, 12); |
| 404 delegate.set_fixed_offset(fixed_offset); | 409 delegate.set_fixed_offset(fixed_offset); |
| 405 layer()->SetScrollOffsetDelegate(&delegate); | 410 layer()->SetScrollOffsetDelegate(&delegate); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 435 } | 440 } |
| 436 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 441 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
| 437 virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} | 442 virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} |
| 438 virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} | 443 virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} |
| 439 | 444 |
| 440 private: | 445 private: |
| 441 gfx::Vector2dF current_offset_; | 446 gfx::Vector2dF current_offset_; |
| 442 }; | 447 }; |
| 443 | 448 |
| 444 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { | 449 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { |
| 445 gfx::Vector2d max_scroll_offset(50, 80); | 450 // TODO(wjmaclean) - SMSO Add clip layer. |
| 451 // gfx::Vector2d max_scroll_offset(50, 80); |
| 446 gfx::Vector2d scroll_offset(10, 5); | 452 gfx::Vector2d scroll_offset(10, 5); |
| 447 layer()->SetMaxScrollOffset(max_scroll_offset); | 453 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 448 layer()->SetScrollOffset(scroll_offset); | 454 layer()->SetScrollOffset(scroll_offset); |
| 449 | 455 |
| 450 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 456 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
| 451 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 457 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 452 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 458 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
| 453 | 459 |
| 454 ScrollDelegateAccept delegate; | 460 ScrollDelegateAccept delegate; |
| 455 layer()->SetScrollOffsetDelegate(&delegate); | 461 layer()->SetScrollOffsetDelegate(&delegate); |
| 456 | 462 |
| 457 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 463 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 469 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 475 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 470 | 476 |
| 471 gfx::Vector2dF scroll_delta(1, 1); | 477 gfx::Vector2dF scroll_delta(1, 1); |
| 472 layer()->ScrollBy(scroll_delta); | 478 layer()->ScrollBy(scroll_delta); |
| 473 | 479 |
| 474 EXPECT_VECTOR_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset()); | 480 EXPECT_VECTOR_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset()); |
| 475 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 481 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 476 } | 482 } |
| 477 | 483 |
| 478 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) { | 484 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) { |
| 479 gfx::Vector2d max_scroll_offset(50, 80); | 485 // TODO(wjmaclean) - SMSO Add clip layer. |
| 486 // gfx::Vector2d max_scroll_offset(50, 80); |
| 480 gfx::Vector2d scroll_offset(10, 5); | 487 gfx::Vector2d scroll_offset(10, 5); |
| 481 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 488 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
| 482 gfx::Vector2d sent_scroll_delta(12, -3); | 489 gfx::Vector2d sent_scroll_delta(12, -3); |
| 483 | 490 |
| 484 layer()->SetMaxScrollOffset(max_scroll_offset); | 491 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 485 layer()->SetScrollOffset(scroll_offset); | 492 layer()->SetScrollOffset(scroll_offset); |
| 486 layer()->ScrollBy(scroll_delta); | 493 layer()->ScrollBy(scroll_delta); |
| 487 layer()->SetSentScrollDelta(sent_scroll_delta); | 494 layer()->SetSentScrollDelta(sent_scroll_delta); |
| 488 | 495 |
| 489 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 496 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); |
| 490 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); | 497 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); |
| 491 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 498 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 492 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 499 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); |
| 493 | 500 |
| 494 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 501 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
| 495 | 502 |
| 496 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 503 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); |
| 497 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); | 504 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); |
| 498 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 505 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); |
| 499 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 506 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); |
| 500 } | 507 } |
| 501 | 508 |
| 502 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) { | 509 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) { |
| 503 gfx::Vector2d max_scroll_offset(50, 80); | 510 // TODO(wjmaclean) - SMSO Add clip layer. |
| 511 // gfx::Vector2d max_scroll_offset(50, 80); |
| 504 gfx::Vector2d scroll_offset(10, 5); | 512 gfx::Vector2d scroll_offset(10, 5); |
| 505 gfx::Vector2d sent_scroll_delta(12, -3); | 513 gfx::Vector2d sent_scroll_delta(12, -3); |
| 506 gfx::Vector2dF fixed_offset(32, 12); | 514 gfx::Vector2dF fixed_offset(32, 12); |
| 507 | 515 |
| 508 layer()->SetMaxScrollOffset(max_scroll_offset); | 516 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 509 layer()->SetScrollOffset(scroll_offset); | 517 layer()->SetScrollOffset(scroll_offset); |
| 510 ScrollDelegateIgnore delegate; | 518 ScrollDelegateIgnore delegate; |
| 511 delegate.set_fixed_offset(fixed_offset); | 519 delegate.set_fixed_offset(fixed_offset); |
| 512 layer()->SetScrollOffsetDelegate(&delegate); | 520 layer()->SetScrollOffsetDelegate(&delegate); |
| 513 layer()->SetSentScrollDelta(sent_scroll_delta); | 521 layer()->SetSentScrollDelta(sent_scroll_delta); |
| 514 | 522 |
| 515 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 523 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); |
| 516 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 524 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 517 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 525 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); |
| 518 | 526 |
| 519 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 527 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
| 520 | 528 |
| 521 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 529 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); |
| 522 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 530 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); |
| 523 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 531 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); |
| 524 } | 532 } |
| 525 | 533 |
| 526 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { | 534 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { |
| 527 gfx::Vector2d max_scroll_offset(50, 80); | 535 // TODO(wjmaclean) - SMSO Add clip layer. |
| 536 // gfx::Vector2d max_scroll_offset(50, 80); |
| 528 gfx::Vector2d scroll_offset(10, 5); | 537 gfx::Vector2d scroll_offset(10, 5); |
| 529 gfx::Vector2d sent_scroll_delta(12, -3); | 538 gfx::Vector2d sent_scroll_delta(12, -3); |
| 530 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 539 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
| 531 | 540 |
| 532 layer()->SetMaxScrollOffset(max_scroll_offset); | 541 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 533 layer()->SetScrollOffset(scroll_offset); | 542 layer()->SetScrollOffset(scroll_offset); |
| 534 ScrollDelegateAccept delegate; | 543 ScrollDelegateAccept delegate; |
| 535 layer()->SetScrollOffsetDelegate(&delegate); | 544 layer()->SetScrollOffsetDelegate(&delegate); |
| 536 layer()->ScrollBy(scroll_delta); | 545 layer()->ScrollBy(scroll_delta); |
| 537 layer()->SetSentScrollDelta(sent_scroll_delta); | 546 layer()->SetSentScrollDelta(sent_scroll_delta); |
| 538 | 547 |
| 539 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 548 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); |
| 540 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 549 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); |
| 541 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 550 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); |
| 542 | 551 |
| 543 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 552 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
| 544 | 553 |
| 545 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 554 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); |
| 546 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 555 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); |
| 547 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 556 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); |
| 548 } | 557 } |
| 549 | 558 |
| 550 TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) { | 559 TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) { |
| 551 gfx::Vector2d max_scroll_offset(50, 80); | 560 // TODO(wjmaclean) - SMSO Add clip layer. |
| 561 // gfx::Vector2d max_scroll_offset(50, 80); |
| 552 gfx::Vector2d scroll_offset(10, 5); | 562 gfx::Vector2d scroll_offset(10, 5); |
| 553 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 563 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
| 554 | 564 |
| 555 layer()->set_user_scrollable_vertical(false); | 565 layer()->set_user_scrollable_vertical(false); |
| 556 layer()->SetMaxScrollOffset(max_scroll_offset); | 566 // layer()->SetMaxScrollOffset(max_scroll_offset); |
| 557 layer()->SetScrollOffset(scroll_offset); | 567 layer()->SetScrollOffset(scroll_offset); |
| 558 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 568 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
| 559 | 569 |
| 560 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 570 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
| 561 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 571 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
| 562 } | 572 } |
| 563 | 573 |
| 564 } // namespace | 574 } // namespace |
| 565 } // namespace cc | 575 } // namespace cc |
| OLD | NEW |