| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ui/events/blink/input_handler_proxy.h" | 5 #include "ui/events/blink/input_handler_proxy.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 scroll_begin_event.data.scroll_begin.delta_y_hint = 0; | 134 scroll_begin_event.data.scroll_begin.delta_y_hint = 0; |
| 135 return scroll_begin_event; | 135 return scroll_begin_event; |
| 136 } | 136 } |
| 137 | 137 |
| 138 cc::ScrollState CreateScrollStateForGesture(const WebGestureEvent& event) { | 138 cc::ScrollState CreateScrollStateForGesture(const WebGestureEvent& event) { |
| 139 cc::ScrollStateData scroll_state_data; | 139 cc::ScrollStateData scroll_state_data; |
| 140 switch (event.GetType()) { | 140 switch (event.GetType()) { |
| 141 case WebInputEvent::kGestureScrollBegin: | 141 case WebInputEvent::kGestureScrollBegin: |
| 142 scroll_state_data.position_x = event.x; | 142 scroll_state_data.position_x = event.x; |
| 143 scroll_state_data.position_y = event.y; | 143 scroll_state_data.position_y = event.y; |
| 144 scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; |
| 145 scroll_state_data.delta_y_hint = -event.data.scroll_begin.delta_y_hint; |
| 144 scroll_state_data.is_beginning = true; | 146 scroll_state_data.is_beginning = true; |
| 145 // On Mac, a GestureScrollBegin in the inertial phase indicates a fling | 147 // On Mac, a GestureScrollBegin in the inertial phase indicates a fling |
| 146 // start. | 148 // start. |
| 147 scroll_state_data.is_in_inertial_phase = | 149 scroll_state_data.is_in_inertial_phase = |
| 148 (event.data.scroll_begin.inertial_phase == | 150 (event.data.scroll_begin.inertial_phase == |
| 149 WebGestureEvent::kMomentumPhase); | 151 WebGestureEvent::kMomentumPhase); |
| 150 break; | 152 break; |
| 151 case WebInputEvent::kGestureFlingStart: | 153 case WebInputEvent::kGestureFlingStart: |
| 152 scroll_state_data.velocity_x = event.data.fling_start.velocity_x; | 154 scroll_state_data.velocity_x = event.data.fling_start.velocity_x; |
| 153 scroll_state_data.velocity_y = event.data.fling_start.velocity_y; | 155 scroll_state_data.velocity_y = event.data.fling_start.velocity_y; |
| (...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 blink::WebGestureEvent::ScrollUnits::kPage) { | 851 blink::WebGestureEvent::ScrollUnits::kPage) { |
| 850 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; | 852 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; |
| 851 scroll_status.main_thread_scrolling_reasons = | 853 scroll_status.main_thread_scrolling_reasons = |
| 852 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; | 854 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; |
| 853 } else if (gesture_event.data.scroll_begin.target_viewport) { | 855 } else if (gesture_event.data.scroll_begin.target_viewport) { |
| 854 scroll_status = input_handler_->RootScrollBegin( | 856 scroll_status = input_handler_->RootScrollBegin( |
| 855 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 857 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
| 856 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != | 858 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != |
| 857 blink::WebGestureEvent::ScrollUnits::kPixels)) { | 859 blink::WebGestureEvent::ScrollUnits::kPixels)) { |
| 858 DCHECK(!scroll_state.is_in_inertial_phase()); | 860 DCHECK(!scroll_state.is_in_inertial_phase()); |
| 859 gfx::Point scroll_point(gesture_event.x, gesture_event.y); | 861 scroll_status = input_handler_->ScrollAnimatedBegin(&scroll_state); |
| 860 scroll_status = input_handler_->ScrollAnimatedBegin(scroll_point); | |
| 861 } else { | 862 } else { |
| 862 scroll_status = input_handler_->ScrollBegin( | 863 scroll_status = input_handler_->ScrollBegin( |
| 863 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 864 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
| 864 } | 865 } |
| 865 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", | 866 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", |
| 866 scroll_status.thread, | 867 scroll_status.thread, |
| 867 cc::InputHandler::LAST_SCROLL_STATUS + 1); | 868 cc::InputHandler::LAST_SCROLL_STATUS + 1); |
| 868 | 869 |
| 869 RecordMainThreadScrollingReasons(gesture_event.source_device, | 870 RecordMainThreadScrollingReasons(gesture_event.source_device, |
| 870 scroll_status.main_thread_scrolling_reasons); | 871 scroll_status.main_thread_scrolling_reasons); |
| (...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1704 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, | 1705 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, |
| 1705 scroll_result)); | 1706 scroll_result)); |
| 1706 } | 1707 } |
| 1707 | 1708 |
| 1708 void InputHandlerProxy::SetTickClockForTesting( | 1709 void InputHandlerProxy::SetTickClockForTesting( |
| 1709 std::unique_ptr<base::TickClock> tick_clock) { | 1710 std::unique_ptr<base::TickClock> tick_clock) { |
| 1710 tick_clock_ = std::move(tick_clock); | 1711 tick_clock_ = std::move(tick_clock); |
| 1711 } | 1712 } |
| 1712 | 1713 |
| 1713 } // namespace ui | 1714 } // namespace ui |
| OLD | NEW |