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 |