| 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 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 | 957 |
| 958 // This point is still inside the non-fast region. | 958 // This point is still inside the non-fast region. |
| 959 status = host_impl_->ScrollBegin(BeginState(gfx::Point(10, 10)).get(), | 959 status = host_impl_->ScrollBegin(BeginState(gfx::Point(10, 10)).get(), |
| 960 InputHandler::WHEEL); | 960 InputHandler::WHEEL); |
| 961 EXPECT_EQ(InputHandler::SCROLL_ON_MAIN_THREAD, status.thread); | 961 EXPECT_EQ(InputHandler::SCROLL_ON_MAIN_THREAD, status.thread); |
| 962 EXPECT_EQ(MainThreadScrollingReason::kNonFastScrollableRegion, | 962 EXPECT_EQ(MainThreadScrollingReason::kNonFastScrollableRegion, |
| 963 status.main_thread_scrolling_reasons); | 963 status.main_thread_scrolling_reasons); |
| 964 } | 964 } |
| 965 | 965 |
| 966 TEST_F(LayerTreeHostImplTest, ScrollHandlerNotPresent) { | 966 TEST_F(LayerTreeHostImplTest, ScrollHandlerNotPresent) { |
| 967 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(200, 200)); | 967 SetupScrollAndContentsLayers(gfx::Size(200, 200)); |
| 968 EXPECT_FALSE(scroll_layer->have_scroll_event_handlers()); | 968 EXPECT_FALSE(host_impl_->active_tree()->have_scroll_event_handlers()); |
| 969 host_impl_->SetViewportSize(gfx::Size(50, 50)); | 969 host_impl_->SetViewportSize(gfx::Size(50, 50)); |
| 970 DrawFrame(); | 970 DrawFrame(); |
| 971 | 971 |
| 972 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); | 972 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); |
| 973 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), | 973 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), |
| 974 InputHandler::GESTURE); | 974 InputHandler::GESTURE); |
| 975 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); | 975 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); |
| 976 host_impl_->ScrollEnd(EndState().get()); | 976 host_impl_->ScrollEnd(EndState().get()); |
| 977 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); | 977 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); |
| 978 } | 978 } |
| 979 | 979 |
| 980 TEST_F(LayerTreeHostImplTest, ScrollHandlerPresent) { | 980 TEST_F(LayerTreeHostImplTest, ScrollHandlerPresent) { |
| 981 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(200, 200)); | 981 SetupScrollAndContentsLayers(gfx::Size(200, 200)); |
| 982 scroll_layer->SetHaveScrollEventHandlers(true); | 982 host_impl_->active_tree()->set_have_scroll_event_handlers(true); |
| 983 host_impl_->SetViewportSize(gfx::Size(50, 50)); | 983 host_impl_->SetViewportSize(gfx::Size(50, 50)); |
| 984 DrawFrame(); | 984 DrawFrame(); |
| 985 | 985 |
| 986 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); | 986 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); |
| 987 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), | 987 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), |
| 988 InputHandler::GESTURE); | 988 InputHandler::GESTURE); |
| 989 EXPECT_TRUE(host_impl_->scroll_affects_scroll_handler()); | 989 EXPECT_TRUE(host_impl_->scroll_affects_scroll_handler()); |
| 990 host_impl_->ScrollEnd(EndState().get()); | 990 host_impl_->ScrollEnd(EndState().get()); |
| 991 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); | 991 EXPECT_FALSE(host_impl_->scroll_affects_scroll_handler()); |
| 992 } | 992 } |
| (...skipping 6982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7975 { | 7975 { |
| 7976 set_needs_commit_count = 0; | 7976 set_needs_commit_count = 0; |
| 7977 set_needs_redraw_count = 0; | 7977 set_needs_redraw_count = 0; |
| 7978 forward_to_main_count = 0; | 7978 forward_to_main_count = 0; |
| 7979 scoped_ptr<SimpleSwapPromiseMonitor> swap_promise_monitor( | 7979 scoped_ptr<SimpleSwapPromiseMonitor> swap_promise_monitor( |
| 7980 new SimpleSwapPromiseMonitor(NULL, | 7980 new SimpleSwapPromiseMonitor(NULL, |
| 7981 host_impl_.get(), | 7981 host_impl_.get(), |
| 7982 &set_needs_commit_count, | 7982 &set_needs_commit_count, |
| 7983 &set_needs_redraw_count, | 7983 &set_needs_redraw_count, |
| 7984 &forward_to_main_count)); | 7984 &forward_to_main_count)); |
| 7985 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100)); | 7985 SetupScrollAndContentsLayers(gfx::Size(100, 100)); |
| 7986 | 7986 |
| 7987 // Scrolling normally should not trigger any forwarding. | 7987 // Scrolling normally should not trigger any forwarding. |
| 7988 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, | 7988 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, |
| 7989 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), | 7989 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), |
| 7990 InputHandler::GESTURE) | 7990 InputHandler::GESTURE) |
| 7991 .thread); | 7991 .thread); |
| 7992 EXPECT_TRUE( | 7992 EXPECT_TRUE( |
| 7993 host_impl_->ScrollBy( | 7993 host_impl_->ScrollBy( |
| 7994 UpdateState(gfx::Point(), gfx::Vector2d(0, 10)).get()) | 7994 UpdateState(gfx::Point(), gfx::Vector2d(0, 10)).get()) |
| 7995 .did_scroll); | 7995 .did_scroll); |
| 7996 host_impl_->ScrollEnd(EndState().get()); | 7996 host_impl_->ScrollEnd(EndState().get()); |
| 7997 | 7997 |
| 7998 EXPECT_EQ(0, set_needs_commit_count); | 7998 EXPECT_EQ(0, set_needs_commit_count); |
| 7999 EXPECT_EQ(1, set_needs_redraw_count); | 7999 EXPECT_EQ(1, set_needs_redraw_count); |
| 8000 EXPECT_EQ(0, forward_to_main_count); | 8000 EXPECT_EQ(0, forward_to_main_count); |
| 8001 | 8001 |
| 8002 // Scrolling with a scroll handler should defer the swap to the main | 8002 // Scrolling with a scroll handler should defer the swap to the main |
| 8003 // thread. | 8003 // thread. |
| 8004 scroll_layer->SetHaveScrollEventHandlers(true); | 8004 host_impl_->active_tree()->set_have_scroll_event_handlers(true); |
| 8005 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, | 8005 EXPECT_EQ(InputHandler::SCROLL_ON_IMPL_THREAD, |
| 8006 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), | 8006 host_impl_->ScrollBegin(BeginState(gfx::Point()).get(), |
| 8007 InputHandler::GESTURE) | 8007 InputHandler::GESTURE) |
| 8008 .thread); | 8008 .thread); |
| 8009 EXPECT_TRUE( | 8009 EXPECT_TRUE( |
| 8010 host_impl_->ScrollBy( | 8010 host_impl_->ScrollBy( |
| 8011 UpdateState(gfx::Point(), gfx::Vector2d(0, 10)).get()) | 8011 UpdateState(gfx::Point(), gfx::Vector2d(0, 10)).get()) |
| 8012 .did_scroll); | 8012 .did_scroll); |
| 8013 host_impl_->ScrollEnd(EndState().get()); | 8013 host_impl_->ScrollEnd(EndState().get()); |
| 8014 | 8014 |
| (...skipping 1946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9961 // There should not be any jitter measured till we hit the fixed point hits | 9961 // There should not be any jitter measured till we hit the fixed point hits |
| 9962 // threshold. | 9962 // threshold. |
| 9963 float expected_jitter = | 9963 float expected_jitter = |
| 9964 (i == pending_tree->kFixedPointHitsThreshold) ? 500 : 0; | 9964 (i == pending_tree->kFixedPointHitsThreshold) ? 500 : 0; |
| 9965 EXPECT_EQ(jitter, expected_jitter); | 9965 EXPECT_EQ(jitter, expected_jitter); |
| 9966 } | 9966 } |
| 9967 } | 9967 } |
| 9968 | 9968 |
| 9969 } // namespace | 9969 } // namespace |
| 9970 } // namespace cc | 9970 } // namespace cc |
| OLD | NEW |