| 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 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 831 blink::WebGestureEvent::ScrollUnits::kPage) { | 833 blink::WebGestureEvent::ScrollUnits::kPage) { |
| 832 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; | 834 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; |
| 833 scroll_status.main_thread_scrolling_reasons = | 835 scroll_status.main_thread_scrolling_reasons = |
| 834 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; | 836 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; |
| 835 } else if (gesture_event.data.scroll_begin.target_viewport) { | 837 } else if (gesture_event.data.scroll_begin.target_viewport) { |
| 836 scroll_status = input_handler_->RootScrollBegin( | 838 scroll_status = input_handler_->RootScrollBegin( |
| 837 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 839 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
| 838 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != | 840 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != |
| 839 blink::WebGestureEvent::ScrollUnits::kPixels)) { | 841 blink::WebGestureEvent::ScrollUnits::kPixels)) { |
| 840 DCHECK(!scroll_state.is_in_inertial_phase()); | 842 DCHECK(!scroll_state.is_in_inertial_phase()); |
| 841 gfx::Point scroll_point(gesture_event.x, gesture_event.y); | 843 scroll_status = input_handler_->ScrollAnimatedBegin(&scroll_state); |
| 842 scroll_status = input_handler_->ScrollAnimatedBegin(scroll_point); | |
| 843 } else { | 844 } else { |
| 844 scroll_status = input_handler_->ScrollBegin( | 845 scroll_status = input_handler_->ScrollBegin( |
| 845 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 846 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
| 846 } | 847 } |
| 847 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", | 848 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", |
| 848 scroll_status.thread, | 849 scroll_status.thread, |
| 849 cc::InputHandler::LAST_SCROLL_STATUS + 1); | 850 cc::InputHandler::LAST_SCROLL_STATUS + 1); |
| 850 | 851 |
| 851 RecordMainThreadScrollingReasons(gesture_event.source_device, | 852 RecordMainThreadScrollingReasons(gesture_event.source_device, |
| 852 scroll_status.main_thread_scrolling_reasons); | 853 scroll_status.main_thread_scrolling_reasons); |
| (...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1686 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, | 1687 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, |
| 1687 scroll_result)); | 1688 scroll_result)); |
| 1688 } | 1689 } |
| 1689 | 1690 |
| 1690 void InputHandlerProxy::SetTickClockForTesting( | 1691 void InputHandlerProxy::SetTickClockForTesting( |
| 1691 std::unique_ptr<base::TickClock> tick_clock) { | 1692 std::unique_ptr<base::TickClock> tick_clock) { |
| 1692 tick_clock_ = std::move(tick_clock); | 1693 tick_clock_ = std::move(tick_clock); |
| 1693 } | 1694 } |
| 1694 | 1695 |
| 1695 } // namespace ui | 1696 } // namespace ui |
| OLD | NEW |