| 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 5623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5634 EXPECT_EQ( | 5634 EXPECT_EQ( |
| 5635 InputHandler::SCROLL_ON_IMPL_THREAD, | 5635 InputHandler::SCROLL_ON_IMPL_THREAD, |
| 5636 host_impl_->ScrollAnimated(gfx::Point(), gfx::Vector2d(0, -100)).thread); | 5636 host_impl_->ScrollAnimated(gfx::Point(), gfx::Vector2d(0, -100)).thread); |
| 5637 | 5637 |
| 5638 begin_frame_args.frame_time = start_time; | 5638 begin_frame_args.frame_time = start_time; |
| 5639 begin_frame_args.sequence_number++; | 5639 begin_frame_args.sequence_number++; |
| 5640 host_impl_->WillBeginImplFrame(begin_frame_args); | 5640 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 5641 host_impl_->Animate(); | 5641 host_impl_->Animate(); |
| 5642 host_impl_->UpdateAnimationState(true); | 5642 host_impl_->UpdateAnimationState(true); |
| 5643 | 5643 |
| 5644 EXPECT_EQ(gfx::ScrollOffset(0, 30), grand_child_layer->CurrentScrollOffset()); | 5644 // Should have started scrolling. |
| 5645 EXPECT_NE(gfx::ScrollOffset(0, 30), grand_child_layer->CurrentScrollOffset()); |
| 5645 host_impl_->DidFinishImplFrame(); | 5646 host_impl_->DidFinishImplFrame(); |
| 5646 | 5647 |
| 5647 begin_frame_args.frame_time = | 5648 begin_frame_args.frame_time = |
| 5648 start_time + base::TimeDelta::FromMilliseconds(200); | 5649 start_time + base::TimeDelta::FromMilliseconds(200); |
| 5649 begin_frame_args.sequence_number++; | 5650 begin_frame_args.sequence_number++; |
| 5650 host_impl_->WillBeginImplFrame(begin_frame_args); | 5651 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 5651 host_impl_->Animate(); | 5652 host_impl_->Animate(); |
| 5652 host_impl_->UpdateAnimationState(true); | 5653 host_impl_->UpdateAnimationState(true); |
| 5653 | 5654 |
| 5654 EXPECT_EQ(gfx::ScrollOffset(0, 0), grand_child_layer->CurrentScrollOffset()); | 5655 EXPECT_EQ(gfx::ScrollOffset(0, 0), grand_child_layer->CurrentScrollOffset()); |
| (...skipping 5097 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10752 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); | 10753 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); |
| 10753 EXPECT_EQ(scrolling_layer->scroll_tree_index(), | 10754 EXPECT_EQ(scrolling_layer->scroll_tree_index(), |
| 10754 host_impl_->CurrentlyScrollingNode()->id); | 10755 host_impl_->CurrentlyScrollingNode()->id); |
| 10755 | 10756 |
| 10756 begin_frame_args.frame_time = start_time; | 10757 begin_frame_args.frame_time = start_time; |
| 10757 begin_frame_args.sequence_number++; | 10758 begin_frame_args.sequence_number++; |
| 10758 host_impl_->WillBeginImplFrame(begin_frame_args); | 10759 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10759 host_impl_->Animate(); | 10760 host_impl_->Animate(); |
| 10760 host_impl_->UpdateAnimationState(true); | 10761 host_impl_->UpdateAnimationState(true); |
| 10761 | 10762 |
| 10762 EXPECT_EQ(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); | 10763 EXPECT_NE(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); |
| 10763 host_impl_->DidFinishImplFrame(); | 10764 host_impl_->DidFinishImplFrame(); |
| 10764 | 10765 |
| 10765 begin_frame_args.frame_time = | 10766 begin_frame_args.frame_time = |
| 10766 start_time + base::TimeDelta::FromMilliseconds(50); | 10767 start_time + base::TimeDelta::FromMilliseconds(50); |
| 10767 begin_frame_args.sequence_number++; | 10768 begin_frame_args.sequence_number++; |
| 10768 host_impl_->WillBeginImplFrame(begin_frame_args); | 10769 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10769 host_impl_->Animate(); | 10770 host_impl_->Animate(); |
| 10770 host_impl_->UpdateAnimationState(true); | 10771 host_impl_->UpdateAnimationState(true); |
| 10771 | 10772 |
| 10772 float y = scrolling_layer->CurrentScrollOffset().y(); | 10773 float y = scrolling_layer->CurrentScrollOffset().y(); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10893 | 10894 |
| 10894 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); | 10895 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); |
| 10895 EXPECT_EQ(scrolling_layer->scroll_tree_index(), | 10896 EXPECT_EQ(scrolling_layer->scroll_tree_index(), |
| 10896 host_impl_->CurrentlyScrollingNode()->id); | 10897 host_impl_->CurrentlyScrollingNode()->id); |
| 10897 | 10898 |
| 10898 // First tick, animation is started. | 10899 // First tick, animation is started. |
| 10899 begin_frame_args.frame_time = start_time; | 10900 begin_frame_args.frame_time = start_time; |
| 10900 begin_frame_args.sequence_number++; | 10901 begin_frame_args.sequence_number++; |
| 10901 host_impl_->WillBeginImplFrame(begin_frame_args); | 10902 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10902 host_impl_->UpdateAnimationState(true); | 10903 host_impl_->UpdateAnimationState(true); |
| 10903 EXPECT_EQ(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); | 10904 EXPECT_NE(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); |
| 10904 host_impl_->DidFinishImplFrame(); | 10905 host_impl_->DidFinishImplFrame(); |
| 10905 | 10906 |
| 10906 // Second tick after 50ms, animation should be half way done since | 10907 // Second tick after 50ms, animation should be half way done since the |
| 10907 // the duration due to delay is 100ms. | 10908 // duration due to delay is 100ms. Subtract off the frame interval since we |
| 10908 begin_frame_args.frame_time = | 10909 // progress a full frame on the first tick. |
| 10909 start_time + base::TimeDelta::FromMilliseconds(50); | 10910 base::TimeTicks half_way_time = start_time - begin_frame_args.interval + |
| 10911 base::TimeDelta::FromMilliseconds(50); |
| 10912 begin_frame_args.frame_time = half_way_time; |
| 10910 begin_frame_args.sequence_number++; | 10913 begin_frame_args.sequence_number++; |
| 10911 host_impl_->WillBeginImplFrame(begin_frame_args); | 10914 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10912 host_impl_->UpdateAnimationState(true); | 10915 host_impl_->UpdateAnimationState(true); |
| 10913 EXPECT_EQ(50, scrolling_layer->CurrentScrollOffset().y()); | 10916 EXPECT_EQ(50, scrolling_layer->CurrentScrollOffset().y()); |
| 10914 host_impl_->DidFinishImplFrame(); | 10917 host_impl_->DidFinishImplFrame(); |
| 10915 | 10918 |
| 10916 // Update target. | 10919 // Update target. |
| 10917 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, | 10920 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, |
| 10918 host_impl_ | 10921 host_impl_ |
| 10919 ->ScrollAnimated(gfx::Point(), gfx::Vector2d(0, 100), | 10922 ->ScrollAnimated(gfx::Point(), gfx::Vector2d(0, 100), |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10956 | 10959 |
| 10957 begin_frame_args.frame_time = start_time; | 10960 begin_frame_args.frame_time = start_time; |
| 10958 begin_frame_args.sequence_number++; | 10961 begin_frame_args.sequence_number++; |
| 10959 host_impl_->WillBeginImplFrame(begin_frame_args); | 10962 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10960 host_impl_->Animate(); | 10963 host_impl_->Animate(); |
| 10961 host_impl_->UpdateAnimationState(true); | 10964 host_impl_->UpdateAnimationState(true); |
| 10962 | 10965 |
| 10963 EXPECT_TRUE(GetImplAnimationHost()->HasAnyAnimationTargetingProperty( | 10966 EXPECT_TRUE(GetImplAnimationHost()->HasAnyAnimationTargetingProperty( |
| 10964 scrolling_layer->element_id(), TargetProperty::SCROLL_OFFSET)); | 10967 scrolling_layer->element_id(), TargetProperty::SCROLL_OFFSET)); |
| 10965 | 10968 |
| 10966 EXPECT_EQ(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); | 10969 EXPECT_NE(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); |
| 10967 host_impl_->DidFinishImplFrame(); | 10970 host_impl_->DidFinishImplFrame(); |
| 10968 | 10971 |
| 10969 begin_frame_args.frame_time = | 10972 begin_frame_args.frame_time = |
| 10970 start_time + base::TimeDelta::FromMilliseconds(50); | 10973 start_time + base::TimeDelta::FromMilliseconds(50); |
| 10971 begin_frame_args.sequence_number++; | 10974 begin_frame_args.sequence_number++; |
| 10972 host_impl_->WillBeginImplFrame(begin_frame_args); | 10975 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 10973 host_impl_->Animate(); | 10976 host_impl_->Animate(); |
| 10974 host_impl_->UpdateAnimationState(true); | 10977 host_impl_->UpdateAnimationState(true); |
| 10975 | 10978 |
| 10976 float y = scrolling_layer->CurrentScrollOffset().y(); | 10979 float y = scrolling_layer->CurrentScrollOffset().y(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11025 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); | 11028 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); |
| 11026 EXPECT_EQ(scrolling_layer->scroll_tree_index(), | 11029 EXPECT_EQ(scrolling_layer->scroll_tree_index(), |
| 11027 host_impl_->CurrentlyScrollingNode()->id); | 11030 host_impl_->CurrentlyScrollingNode()->id); |
| 11028 | 11031 |
| 11029 begin_frame_args.frame_time = start_time; | 11032 begin_frame_args.frame_time = start_time; |
| 11030 begin_frame_args.sequence_number++; | 11033 begin_frame_args.sequence_number++; |
| 11031 host_impl_->WillBeginImplFrame(begin_frame_args); | 11034 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 11032 host_impl_->Animate(); | 11035 host_impl_->Animate(); |
| 11033 host_impl_->UpdateAnimationState(true); | 11036 host_impl_->UpdateAnimationState(true); |
| 11034 | 11037 |
| 11035 EXPECT_EQ(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); | 11038 EXPECT_NE(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); |
| 11036 host_impl_->DidFinishImplFrame(); | 11039 host_impl_->DidFinishImplFrame(); |
| 11037 | 11040 |
| 11038 begin_frame_args.frame_time = | 11041 begin_frame_args.frame_time = |
| 11039 start_time + base::TimeDelta::FromMilliseconds(50); | 11042 start_time + base::TimeDelta::FromMilliseconds(50); |
| 11040 begin_frame_args.sequence_number++; | 11043 begin_frame_args.sequence_number++; |
| 11041 host_impl_->WillBeginImplFrame(begin_frame_args); | 11044 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 11042 host_impl_->Animate(); | 11045 host_impl_->Animate(); |
| 11043 host_impl_->UpdateAnimationState(true); | 11046 host_impl_->UpdateAnimationState(true); |
| 11044 | 11047 |
| 11045 float y = scrolling_layer->CurrentScrollOffset().y(); | 11048 float y = scrolling_layer->CurrentScrollOffset().y(); |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11261 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); | 11264 LayerImpl* scrolling_layer = host_impl_->OuterViewportScrollLayer(); |
| 11262 EXPECT_EQ(scrolling_layer->scroll_tree_index(), | 11265 EXPECT_EQ(scrolling_layer->scroll_tree_index(), |
| 11263 host_impl_->CurrentlyScrollingNode()->id); | 11266 host_impl_->CurrentlyScrollingNode()->id); |
| 11264 | 11267 |
| 11265 begin_frame_args.frame_time = start_time; | 11268 begin_frame_args.frame_time = start_time; |
| 11266 begin_frame_args.sequence_number++; | 11269 begin_frame_args.sequence_number++; |
| 11267 host_impl_->WillBeginImplFrame(begin_frame_args); | 11270 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 11268 host_impl_->Animate(); | 11271 host_impl_->Animate(); |
| 11269 host_impl_->UpdateAnimationState(true); | 11272 host_impl_->UpdateAnimationState(true); |
| 11270 | 11273 |
| 11271 EXPECT_EQ(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); | 11274 EXPECT_NE(gfx::ScrollOffset(), scrolling_layer->CurrentScrollOffset()); |
| 11272 host_impl_->DidFinishImplFrame(); | 11275 host_impl_->DidFinishImplFrame(); |
| 11273 | 11276 |
| 11274 begin_frame_args.frame_time = | 11277 begin_frame_args.frame_time = |
| 11275 start_time + base::TimeDelta::FromMilliseconds(50); | 11278 start_time + base::TimeDelta::FromMilliseconds(50); |
| 11276 begin_frame_args.sequence_number++; | 11279 begin_frame_args.sequence_number++; |
| 11277 host_impl_->WillBeginImplFrame(begin_frame_args); | 11280 host_impl_->WillBeginImplFrame(begin_frame_args); |
| 11278 host_impl_->Animate(); | 11281 host_impl_->Animate(); |
| 11279 host_impl_->UpdateAnimationState(true); | 11282 host_impl_->UpdateAnimationState(true); |
| 11280 | 11283 |
| 11281 // Should not have scrolled horizontally. | 11284 // Should not have scrolled horizontally. |
| (...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12377 else | 12380 else |
| 12378 EXPECT_FALSE(tile->HasRasterTask()); | 12381 EXPECT_FALSE(tile->HasRasterTask()); |
| 12379 } | 12382 } |
| 12380 Region expected_invalidation( | 12383 Region expected_invalidation( |
| 12381 raster_source->GetRectForImage(checkerable_image->uniqueID())); | 12384 raster_source->GetRectForImage(checkerable_image->uniqueID())); |
| 12382 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation())); | 12385 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation())); |
| 12383 } | 12386 } |
| 12384 | 12387 |
| 12385 } // namespace | 12388 } // namespace |
| 12386 } // namespace cc | 12389 } // namespace cc |
| OLD | NEW |