Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: ui/events/blink/input_handler_proxy.cc

Issue 2907053004: GSB uses delta_hints to calculate scrolling chain. (Closed)
Patch Set: Merged with master. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698