| 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/animation/mutable_properties.h" | 7 #include "cc/animation/mutable_properties.h" |
| 8 #include "cc/layers/painted_scrollbar_layer_impl.h" | 8 #include "cc/layers/painted_scrollbar_layer_impl.h" |
| 9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
| 10 #include "cc/output/filter_operation.h" | 10 #include "cc/output/filter_operation.h" |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d)); | 330 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d)); |
| 331 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d())); | 331 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d())); |
| 332 layer->SetScrollDelta(gfx::Vector2d(0, 0)); | 332 layer->SetScrollDelta(gfx::Vector2d(0, 0)); |
| 333 host_impl.ForcePrepareToDraw(); | 333 host_impl.ForcePrepareToDraw(); |
| 334 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 334 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 335 layer->SetScrollDelta(arbitrary_vector2d)); | 335 layer->SetScrollDelta(arbitrary_vector2d)); |
| 336 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 336 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 337 layer->SetScrollDelta(arbitrary_vector2d)); | 337 layer->SetScrollDelta(arbitrary_vector2d)); |
| 338 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->PushScrollOffsetFromMainThread( | 338 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->PushScrollOffsetFromMainThread( |
| 339 gfx::ScrollOffset(arbitrary_vector2d))); | 339 gfx::ScrollOffset(arbitrary_vector2d))); |
| 340 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->PushScrollOffsetFromMainThread( | 340 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->DidUpdateScrollOffset()); |
| 341 gfx::ScrollOffset(arbitrary_vector2d))); | |
| 342 | 341 |
| 343 // Unrelated functions, always set to new values, always set needs update. | 342 // Unrelated functions, always set to new values, always set needs update. |
| 344 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 343 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 345 layer->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4)); | 344 layer->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4)); |
| 346 layer->NoteLayerPropertyChanged()); | 345 layer->NoteLayerPropertyChanged()); |
| 347 host_impl.active_tree()->BuildPropertyTreesForTesting(); | 346 host_impl.active_tree()->BuildPropertyTreesForTesting(); |
| 348 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true); | 347 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true); |
| 349 layer->NoteLayerPropertyChanged()); | 348 layer->NoteLayerPropertyChanged()); |
| 350 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true); | 349 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true); |
| 351 layer->NoteLayerPropertyChanged()); | 350 layer->NoteLayerPropertyChanged()); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset()); | 562 EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset()); |
| 564 } | 563 } |
| 565 | 564 |
| 566 TEST_F(LayerImplScrollTest, ApplySentScrollsNoListener) { | 565 TEST_F(LayerImplScrollTest, ApplySentScrollsNoListener) { |
| 567 gfx::ScrollOffset scroll_offset(10, 5); | 566 gfx::ScrollOffset scroll_offset(10, 5); |
| 568 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 567 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
| 569 gfx::Vector2d sent_scroll_delta(12, -3); | 568 gfx::Vector2d sent_scroll_delta(12, -3); |
| 570 | 569 |
| 571 layer()->PushScrollOffsetFromMainThread(scroll_offset); | 570 layer()->PushScrollOffsetFromMainThread(scroll_offset); |
| 572 layer()->ScrollBy(sent_scroll_delta); | 571 layer()->ScrollBy(sent_scroll_delta); |
| 573 layer()->PullDeltaForMainThread(); | 572 layer()->synced_scroll_offset()->PullDeltaForMainThread(); |
| 574 layer()->SetCurrentScrollOffset(scroll_offset + | 573 layer()->SetCurrentScrollOffset(scroll_offset + |
| 575 gfx::ScrollOffset(scroll_delta)); | 574 gfx::ScrollOffset(scroll_delta)); |
| 576 | 575 |
| 577 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta), | 576 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta), |
| 578 layer()->CurrentScrollOffset()); | 577 layer()->CurrentScrollOffset()); |
| 579 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); | 578 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); |
| 580 EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset()); | 579 EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset()); |
| 581 | 580 |
| 582 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 581 layer()->synced_scroll_offset()->AbortCommit(); |
| 583 | 582 |
| 584 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta), | 583 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta), |
| 585 layer()->CurrentScrollOffset()); | 584 layer()->CurrentScrollOffset()); |
| 586 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); | 585 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); |
| 587 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta), | 586 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta), |
| 588 layer()->BaseScrollOffset()); | 587 layer()->BaseScrollOffset()); |
| 589 } | 588 } |
| 590 | 589 |
| 591 TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) { | 590 TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) { |
| 592 gfx::ScrollOffset scroll_offset(10, 5); | 591 gfx::ScrollOffset scroll_offset(10, 5); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 605 gfx::Vector2dF scroll_delta(12, 18); | 604 gfx::Vector2dF scroll_delta(12, 18); |
| 606 | 605 |
| 607 host_impl().CreatePendingTree(); | 606 host_impl().CreatePendingTree(); |
| 608 | 607 |
| 609 layer()->PushScrollOffsetFromMainThread(scroll_offset); | 608 layer()->PushScrollOffsetFromMainThread(scroll_offset); |
| 610 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 609 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
| 611 | 610 |
| 612 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled); | 611 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled); |
| 613 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); | 612 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); |
| 614 | 613 |
| 615 layer()->PullDeltaForMainThread(); | 614 layer()->synced_scroll_offset()->PullDeltaForMainThread(); |
| 616 | 615 |
| 617 scoped_ptr<LayerImpl> pending_layer = LayerImpl::Create( | 616 scoped_ptr<LayerImpl> pending_layer = |
| 618 host_impl().sync_tree(), layer()->id(), layer()->synced_scroll_offset()); | 617 LayerImpl::Create(host_impl().sync_tree(), layer()->id()); |
| 619 pending_layer->PushScrollOffsetFromMainThread(layer()->CurrentScrollOffset()); | 618 pending_layer->PushScrollOffsetFromMainThread(layer()->CurrentScrollOffset()); |
| 620 | 619 |
| 621 pending_layer->PushPropertiesTo(layer()); | 620 pending_layer->PushPropertiesTo(layer()); |
| 622 | 621 |
| 623 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); | 622 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); |
| 624 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), | 623 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), |
| 625 pending_layer->CurrentScrollOffset()); | 624 pending_layer->CurrentScrollOffset()); |
| 626 } | 625 } |
| 627 | 626 |
| 628 } // namespace | 627 } // namespace |
| 629 } // namespace cc | 628 } // namespace cc |
| OLD | NEW |