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; | |
146 scroll_state_data.ignore_delta_hints = | |
147 event.data.scroll_begin.ignore_delta_hints; | |
bokan
2017/06/19 21:43:17
Do you know what this flag is used for? Does it ev
sahel
2017/06/22 16:34:20
I will get rid of this once I fix the event_sender
bokan
2017/06/22 21:44:37
Acknowledged.
| |
144 scroll_state_data.is_beginning = true; | 148 scroll_state_data.is_beginning = true; |
145 // On Mac, a GestureScrollBegin in the inertial phase indicates a fling | 149 // On Mac, a GestureScrollBegin in the inertial phase indicates a fling |
146 // start. | 150 // start. |
147 scroll_state_data.is_in_inertial_phase = | 151 scroll_state_data.is_in_inertial_phase = |
148 (event.data.scroll_begin.inertial_phase == | 152 (event.data.scroll_begin.inertial_phase == |
149 WebGestureEvent::kMomentumPhase); | 153 WebGestureEvent::kMomentumPhase); |
150 break; | 154 break; |
151 case WebInputEvent::kGestureFlingStart: | 155 case WebInputEvent::kGestureFlingStart: |
152 scroll_state_data.velocity_x = event.data.fling_start.velocity_x; | 156 scroll_state_data.velocity_x = event.data.fling_start.velocity_x; |
153 scroll_state_data.velocity_y = event.data.fling_start.velocity_y; | 157 scroll_state_data.velocity_y = event.data.fling_start.velocity_y; |
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
819 blink::WebGestureEvent::ScrollUnits::kPage) { | 823 blink::WebGestureEvent::ScrollUnits::kPage) { |
820 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; | 824 scroll_status.thread = cc::InputHandler::SCROLL_ON_MAIN_THREAD; |
821 scroll_status.main_thread_scrolling_reasons = | 825 scroll_status.main_thread_scrolling_reasons = |
822 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; | 826 cc::MainThreadScrollingReason::kContinuingMainThreadScroll; |
823 } else if (gesture_event.data.scroll_begin.target_viewport) { | 827 } else if (gesture_event.data.scroll_begin.target_viewport) { |
824 scroll_status = input_handler_->RootScrollBegin( | 828 scroll_status = input_handler_->RootScrollBegin( |
825 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 829 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
826 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != | 830 } else if (ShouldAnimate(gesture_event.data.scroll_begin.delta_hint_units != |
827 blink::WebGestureEvent::ScrollUnits::kPixels)) { | 831 blink::WebGestureEvent::ScrollUnits::kPixels)) { |
828 DCHECK(!scroll_state.is_in_inertial_phase()); | 832 DCHECK(!scroll_state.is_in_inertial_phase()); |
829 gfx::Point scroll_point(gesture_event.x, gesture_event.y); | 833 scroll_status = input_handler_->ScrollAnimatedBegin(&scroll_state); |
830 scroll_status = input_handler_->ScrollAnimatedBegin(scroll_point); | |
831 } else { | 834 } else { |
832 scroll_status = input_handler_->ScrollBegin( | 835 scroll_status = input_handler_->ScrollBegin( |
833 &scroll_state, GestureScrollInputType(gesture_event.source_device)); | 836 &scroll_state, GestureScrollInputType(gesture_event.source_device)); |
834 } | 837 } |
835 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", | 838 UMA_HISTOGRAM_ENUMERATION("Renderer4.CompositorScrollHitTestResult", |
836 scroll_status.thread, | 839 scroll_status.thread, |
837 cc::InputHandler::LAST_SCROLL_STATUS + 1); | 840 cc::InputHandler::LAST_SCROLL_STATUS + 1); |
838 | 841 |
839 RecordMainThreadScrollingReasons(gesture_event.source_device, | 842 RecordMainThreadScrollingReasons(gesture_event.source_device, |
840 scroll_status.main_thread_scrolling_reasons); | 843 scroll_status.main_thread_scrolling_reasons); |
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1661 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, | 1664 scroll_elasticity_controller_->GetWeakPtr(), gesture_event, |
1662 scroll_result)); | 1665 scroll_result)); |
1663 } | 1666 } |
1664 | 1667 |
1665 void InputHandlerProxy::SetTickClockForTesting( | 1668 void InputHandlerProxy::SetTickClockForTesting( |
1666 std::unique_ptr<base::TickClock> tick_clock) { | 1669 std::unique_ptr<base::TickClock> tick_clock) { |
1667 tick_clock_ = std::move(tick_clock); | 1670 tick_clock_ = std::move(tick_clock); |
1668 } | 1671 } |
1669 | 1672 |
1670 } // namespace ui | 1673 } // namespace ui |
OLD | NEW |