| 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 2717 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2728 scrollbar->SetScrollLayerId(scroll->id()); | 2728 scrollbar->SetScrollLayerId(scroll->id()); |
| 2729 root->test_properties()->AddChild(std::move(scrollbar)); | 2729 root->test_properties()->AddChild(std::move(scrollbar)); |
| 2730 host_impl_->active_tree()->BuildPropertyTreesForTesting(); | 2730 host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
| 2731 host_impl_->active_tree()->DidBecomeActive(); | 2731 host_impl_->active_tree()->DidBecomeActive(); |
| 2732 DrawFrame(); | 2732 DrawFrame(); |
| 2733 } | 2733 } |
| 2734 | 2734 |
| 2735 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { | 2735 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { |
| 2736 LayerTreeSettings settings = DefaultSettings(); | 2736 LayerTreeSettings settings = DefaultSettings(); |
| 2737 settings.scrollbar_animator = animator; | 2737 settings.scrollbar_animator = animator; |
| 2738 settings.scrollbar_fade_delay = base::TimeDelta::FromMilliseconds(20); | 2738 settings.scrollbar_fade_in_delay = base::TimeDelta::FromMilliseconds(20); |
| 2739 settings.scrollbar_fade_duration = base::TimeDelta::FromMilliseconds(20); | 2739 settings.scrollbar_fade_out_delay = base::TimeDelta::FromMilliseconds(20); |
| 2740 settings.scrollbar_fade_out_duration = |
| 2741 base::TimeDelta::FromMilliseconds(20); |
| 2740 | 2742 |
| 2741 // If no animator is set, scrollbar won't show and no animation is expected. | 2743 // If no animator is set, scrollbar won't show and no animation is expected. |
| 2742 bool expecting_animations = animator != LayerTreeSettings::NO_ANIMATOR; | 2744 bool expecting_animations = animator != LayerTreeSettings::NO_ANIMATOR; |
| 2743 | 2745 |
| 2744 SetupLayers(settings); | 2746 SetupLayers(settings); |
| 2745 | 2747 |
| 2746 base::TimeTicks fake_now = base::TimeTicks::Now(); | 2748 base::TimeTicks fake_now = base::TimeTicks::Now(); |
| 2747 | 2749 |
| 2748 if (expecting_animations) { | 2750 if (expecting_animations) { |
| 2749 // A task will be posted to fade the initial scrollbar. | 2751 // A task will be posted to fade the initial scrollbar. |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2919 | 2921 |
| 2920 TEST_F(LayerTreeHostImplTestScrollbarAnimation, NoAnimator) { | 2922 TEST_F(LayerTreeHostImplTestScrollbarAnimation, NoAnimator) { |
| 2921 RunTest(LayerTreeSettings::NO_ANIMATOR); | 2923 RunTest(LayerTreeSettings::NO_ANIMATOR); |
| 2922 } | 2924 } |
| 2923 | 2925 |
| 2924 class LayerTreeHostImplTestScrollbarOpacity : public LayerTreeHostImplTest { | 2926 class LayerTreeHostImplTestScrollbarOpacity : public LayerTreeHostImplTest { |
| 2925 protected: | 2927 protected: |
| 2926 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { | 2928 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { |
| 2927 LayerTreeSettings settings = DefaultSettings(); | 2929 LayerTreeSettings settings = DefaultSettings(); |
| 2928 settings.scrollbar_animator = animator; | 2930 settings.scrollbar_animator = animator; |
| 2929 settings.scrollbar_fade_delay = base::TimeDelta::FromMilliseconds(20); | 2931 settings.scrollbar_fade_in_delay = base::TimeDelta::FromMilliseconds(20); |
| 2930 settings.scrollbar_fade_duration = base::TimeDelta::FromMilliseconds(20); | 2932 settings.scrollbar_fade_out_delay = base::TimeDelta::FromMilliseconds(20); |
| 2933 settings.scrollbar_fade_out_duration = |
| 2934 base::TimeDelta::FromMilliseconds(20); |
| 2931 gfx::Size content_size(100, 100); | 2935 gfx::Size content_size(100, 100); |
| 2932 | 2936 |
| 2933 // If no animator is set, scrollbar won't show and no animation is expected. | 2937 // If no animator is set, scrollbar won't show and no animation is expected. |
| 2934 bool expecting_animations = animator != LayerTreeSettings::NO_ANIMATOR; | 2938 bool expecting_animations = animator != LayerTreeSettings::NO_ANIMATOR; |
| 2935 | 2939 |
| 2936 CreateHostImpl(settings, CreateCompositorFrameSink()); | 2940 CreateHostImpl(settings, CreateCompositorFrameSink()); |
| 2937 host_impl_->CreatePendingTree(); | 2941 host_impl_->CreatePendingTree(); |
| 2938 CreateScrollAndContentsLayers(host_impl_->pending_tree(), content_size); | 2942 CreateScrollAndContentsLayers(host_impl_->pending_tree(), content_size); |
| 2939 std::unique_ptr<SolidColorScrollbarLayerImpl> scrollbar = | 2943 std::unique_ptr<SolidColorScrollbarLayerImpl> scrollbar = |
| 2940 SolidColorScrollbarLayerImpl::Create(host_impl_->pending_tree(), 400, | 2944 SolidColorScrollbarLayerImpl::Create(host_impl_->pending_tree(), 400, |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3050 child->SetBounds(inner_viewport_size); | 3054 child->SetBounds(inner_viewport_size); |
| 3051 | 3055 |
| 3052 horiz_scrollbar->SetScrollLayerId(root_scroll->id()); | 3056 horiz_scrollbar->SetScrollLayerId(root_scroll->id()); |
| 3053 | 3057 |
| 3054 EXPECT_EQ(300, horiz_scrollbar->clip_layer_length()); | 3058 EXPECT_EQ(300, horiz_scrollbar->clip_layer_length()); |
| 3055 } | 3059 } |
| 3056 | 3060 |
| 3057 TEST_F(LayerTreeHostImplTest, ScrollbarRegistration) { | 3061 TEST_F(LayerTreeHostImplTest, ScrollbarRegistration) { |
| 3058 LayerTreeSettings settings = DefaultSettings(); | 3062 LayerTreeSettings settings = DefaultSettings(); |
| 3059 settings.scrollbar_animator = LayerTreeSettings::ANDROID_OVERLAY; | 3063 settings.scrollbar_animator = LayerTreeSettings::ANDROID_OVERLAY; |
| 3060 settings.scrollbar_fade_delay = base::TimeDelta::FromMilliseconds(20); | 3064 settings.scrollbar_fade_in_delay = base::TimeDelta::FromMilliseconds(20); |
| 3061 settings.scrollbar_fade_duration = base::TimeDelta::FromMilliseconds(20); | 3065 settings.scrollbar_fade_out_delay = base::TimeDelta::FromMilliseconds(20); |
| 3066 settings.scrollbar_fade_out_duration = base::TimeDelta::FromMilliseconds(20); |
| 3062 CreateHostImpl(settings, CreateCompositorFrameSink()); | 3067 CreateHostImpl(settings, CreateCompositorFrameSink()); |
| 3063 | 3068 |
| 3064 gfx::Size viewport_size(300, 200); | 3069 gfx::Size viewport_size(300, 200); |
| 3065 gfx::Size content_size(1000, 1000); | 3070 gfx::Size content_size(1000, 1000); |
| 3066 | 3071 |
| 3067 const int vert_1_id = 10; | 3072 const int vert_1_id = 10; |
| 3068 const int horiz_1_id = 11; | 3073 const int horiz_1_id = 11; |
| 3069 const int vert_2_id = 12; | 3074 const int vert_2_id = 12; |
| 3070 const int horiz_2_id = 13; | 3075 const int horiz_2_id = 13; |
| 3071 const int child_clip_id = 14; | 3076 const int child_clip_id = 14; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3170 host_impl_->active_tree()->InnerViewportScrollLayer()->SetCurrentScrollOffset( | 3175 host_impl_->active_tree()->InnerViewportScrollLayer()->SetCurrentScrollOffset( |
| 3171 gfx::ScrollOffset(20, 20)); | 3176 gfx::ScrollOffset(20, 20)); |
| 3172 EXPECT_TRUE(animation_task_.Equals(base::Closure())); | 3177 EXPECT_TRUE(animation_task_.Equals(base::Closure())); |
| 3173 child_ptr->SetCurrentScrollOffset(gfx::ScrollOffset(20, 20)); | 3178 child_ptr->SetCurrentScrollOffset(gfx::ScrollOffset(20, 20)); |
| 3174 EXPECT_TRUE(animation_task_.Equals(base::Closure())); | 3179 EXPECT_TRUE(animation_task_.Equals(base::Closure())); |
| 3175 } | 3180 } |
| 3176 | 3181 |
| 3177 void LayerTreeHostImplTest::SetupMouseMoveAtWithDeviceScale( | 3182 void LayerTreeHostImplTest::SetupMouseMoveAtWithDeviceScale( |
| 3178 float device_scale_factor) { | 3183 float device_scale_factor) { |
| 3179 LayerTreeSettings settings = DefaultSettings(); | 3184 LayerTreeSettings settings = DefaultSettings(); |
| 3180 settings.scrollbar_fade_delay = base::TimeDelta::FromMilliseconds(500); | 3185 settings.scrollbar_fade_in_delay = base::TimeDelta::FromMilliseconds(500); |
| 3181 settings.scrollbar_fade_duration = base::TimeDelta::FromMilliseconds(300); | 3186 settings.scrollbar_fade_out_delay = base::TimeDelta::FromMilliseconds(500); |
| 3187 settings.scrollbar_fade_out_duration = base::TimeDelta::FromMilliseconds(300); |
| 3182 settings.scrollbar_animator = LayerTreeSettings::AURA_OVERLAY; | 3188 settings.scrollbar_animator = LayerTreeSettings::AURA_OVERLAY; |
| 3183 | 3189 |
| 3184 gfx::Size viewport_size(300, 200); | 3190 gfx::Size viewport_size(300, 200); |
| 3185 gfx::Size device_viewport_size = | 3191 gfx::Size device_viewport_size = |
| 3186 gfx::ScaleToFlooredSize(viewport_size, device_scale_factor); | 3192 gfx::ScaleToFlooredSize(viewport_size, device_scale_factor); |
| 3187 gfx::Size content_size(1000, 1000); | 3193 gfx::Size content_size(1000, 1000); |
| 3188 gfx::Size scrollbar_size(gfx::Size(15, viewport_size.height())); | 3194 gfx::Size scrollbar_size(gfx::Size(15, viewport_size.height())); |
| 3189 | 3195 |
| 3190 CreateHostImpl(settings, CreateCompositorFrameSink()); | 3196 CreateHostImpl(settings, CreateCompositorFrameSink()); |
| 3191 host_impl_->active_tree()->SetDeviceScaleFactor(device_scale_factor); | 3197 host_impl_->active_tree()->SetDeviceScaleFactor(device_scale_factor); |
| (...skipping 8389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11581 | 11587 |
| 11582 // Re-initialize with a software output surface. | 11588 // Re-initialize with a software output surface. |
| 11583 compositor_frame_sink_ = FakeCompositorFrameSink::CreateSoftware(); | 11589 compositor_frame_sink_ = FakeCompositorFrameSink::CreateSoftware(); |
| 11584 host_impl_->InitializeRenderer(compositor_frame_sink_.get()); | 11590 host_impl_->InitializeRenderer(compositor_frame_sink_.get()); |
| 11585 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); | 11591 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); |
| 11586 } | 11592 } |
| 11587 | 11593 |
| 11588 void LayerTreeHostImplTest::SetupMouseMoveAtTestScrollbarStates( | 11594 void LayerTreeHostImplTest::SetupMouseMoveAtTestScrollbarStates( |
| 11589 bool main_thread_scrolling) { | 11595 bool main_thread_scrolling) { |
| 11590 LayerTreeSettings settings = DefaultSettings(); | 11596 LayerTreeSettings settings = DefaultSettings(); |
| 11591 settings.scrollbar_fade_delay = base::TimeDelta::FromMilliseconds(500); | 11597 settings.scrollbar_fade_in_delay = base::TimeDelta::FromMilliseconds(500); |
| 11592 settings.scrollbar_fade_duration = base::TimeDelta::FromMilliseconds(300); | 11598 settings.scrollbar_fade_out_delay = base::TimeDelta::FromMilliseconds(500); |
| 11599 settings.scrollbar_fade_out_duration = base::TimeDelta::FromMilliseconds(300); |
| 11593 settings.scrollbar_animator = LayerTreeSettings::AURA_OVERLAY; | 11600 settings.scrollbar_animator = LayerTreeSettings::AURA_OVERLAY; |
| 11594 | 11601 |
| 11595 gfx::Size viewport_size(300, 200); | 11602 gfx::Size viewport_size(300, 200); |
| 11596 gfx::Size content_size(1000, 1000); | 11603 gfx::Size content_size(1000, 1000); |
| 11597 gfx::Size child_layer_size(250, 150); | 11604 gfx::Size child_layer_size(250, 150); |
| 11598 gfx::Size scrollbar_size_1(gfx::Size(15, viewport_size.height())); | 11605 gfx::Size scrollbar_size_1(gfx::Size(15, viewport_size.height())); |
| 11599 gfx::Size scrollbar_size_2(gfx::Size(15, child_layer_size.height())); | 11606 gfx::Size scrollbar_size_2(gfx::Size(15, child_layer_size.height())); |
| 11600 | 11607 |
| 11601 const int scrollbar_1_id = 10; | 11608 const int scrollbar_1_id = 10; |
| 11602 const int scrollbar_2_id = 11; | 11609 const int scrollbar_2_id = 11; |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11851 else | 11858 else |
| 11852 EXPECT_FALSE(tile->HasRasterTask()); | 11859 EXPECT_FALSE(tile->HasRasterTask()); |
| 11853 } | 11860 } |
| 11854 Region expected_invalidation( | 11861 Region expected_invalidation( |
| 11855 raster_source->GetRectForImage(checkerable_image->uniqueID())); | 11862 raster_source->GetRectForImage(checkerable_image->uniqueID())); |
| 11856 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation())); | 11863 EXPECT_EQ(expected_invalidation, *(root->GetPendingInvalidation())); |
| 11857 } | 11864 } |
| 11858 | 11865 |
| 11859 } // namespace | 11866 } // namespace |
| 11860 } // namespace cc | 11867 } // namespace cc |
| OLD | NEW |