OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/renderer_host/render_widget_host_impl.h" | 5 #include "content/browser/renderer_host/render_widget_host_impl.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <tuple> | 10 #include <tuple> |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 const blink::WebGestureEvent& gesture_event) { | 148 const blink::WebGestureEvent& gesture_event) { |
149 DCHECK(gesture_event.type == blink::WebInputEvent::GestureScrollUpdate); | 149 DCHECK(gesture_event.type == blink::WebInputEvent::GestureScrollUpdate); |
150 | 150 |
151 blink::WebGestureEvent wrap_gesture_scroll_begin; | 151 blink::WebGestureEvent wrap_gesture_scroll_begin; |
152 wrap_gesture_scroll_begin.type = blink::WebInputEvent::GestureScrollBegin; | 152 wrap_gesture_scroll_begin.type = blink::WebInputEvent::GestureScrollBegin; |
153 wrap_gesture_scroll_begin.timeStampSeconds = gesture_event.timeStampSeconds; | 153 wrap_gesture_scroll_begin.timeStampSeconds = gesture_event.timeStampSeconds; |
154 wrap_gesture_scroll_begin.sourceDevice = gesture_event.sourceDevice; | 154 wrap_gesture_scroll_begin.sourceDevice = gesture_event.sourceDevice; |
155 wrap_gesture_scroll_begin.data.scrollBegin.deltaXHint = 0; | 155 wrap_gesture_scroll_begin.data.scrollBegin.deltaXHint = 0; |
156 wrap_gesture_scroll_begin.data.scrollBegin.deltaYHint = 0; | 156 wrap_gesture_scroll_begin.data.scrollBegin.deltaYHint = 0; |
157 wrap_gesture_scroll_begin.resendingPluginId = gesture_event.resendingPluginId; | 157 wrap_gesture_scroll_begin.resendingPluginId = gesture_event.resendingPluginId; |
| 158 wrap_gesture_scroll_begin.data.scrollBegin.deltaHintUnits = |
| 159 gesture_event.data.scrollUpdate.deltaUnits; |
158 | 160 |
159 return wrap_gesture_scroll_begin; | 161 return wrap_gesture_scroll_begin; |
160 } | 162 } |
161 | 163 |
162 inline blink::WebGestureEvent CreateScrollEndForWrapping( | 164 inline blink::WebGestureEvent CreateScrollEndForWrapping( |
163 const blink::WebGestureEvent& gesture_event) { | 165 const blink::WebGestureEvent& gesture_event) { |
164 DCHECK(gesture_event.type == blink::WebInputEvent::GestureScrollUpdate); | 166 DCHECK(gesture_event.type == blink::WebInputEvent::GestureScrollUpdate); |
165 | 167 |
166 blink::WebGestureEvent wrap_gesture_scroll_end; | 168 blink::WebGestureEvent wrap_gesture_scroll_end; |
167 wrap_gesture_scroll_end.type = blink::WebInputEvent::GestureScrollEnd; | 169 wrap_gesture_scroll_end.type = blink::WebInputEvent::GestureScrollEnd; |
168 wrap_gesture_scroll_end.timeStampSeconds = gesture_event.timeStampSeconds; | 170 wrap_gesture_scroll_end.timeStampSeconds = gesture_event.timeStampSeconds; |
169 wrap_gesture_scroll_end.sourceDevice = gesture_event.sourceDevice; | 171 wrap_gesture_scroll_end.sourceDevice = gesture_event.sourceDevice; |
170 wrap_gesture_scroll_end.resendingPluginId = gesture_event.resendingPluginId; | 172 wrap_gesture_scroll_end.resendingPluginId = gesture_event.resendingPluginId; |
| 173 wrap_gesture_scroll_end.data.scrollEnd.deltaUnits = |
| 174 gesture_event.data.scrollUpdate.deltaUnits; |
171 | 175 |
172 return wrap_gesture_scroll_end; | 176 return wrap_gesture_scroll_end; |
173 } | 177 } |
174 | 178 |
175 } // namespace | 179 } // namespace |
176 | 180 |
177 /////////////////////////////////////////////////////////////////////////////// | 181 /////////////////////////////////////////////////////////////////////////////// |
178 // RenderWidgetHostImpl | 182 // RenderWidgetHostImpl |
179 | 183 |
180 RenderWidgetHostImpl::RenderWidgetHostImpl(RenderWidgetHostDelegate* delegate, | 184 RenderWidgetHostImpl::RenderWidgetHostImpl(RenderWidgetHostDelegate* delegate, |
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1043 (gesture_event.type == blink::WebInputEvent::GestureFlingStart && | 1047 (gesture_event.type == blink::WebInputEvent::GestureFlingStart && |
1044 gesture_event.sourceDevice == | 1048 gesture_event.sourceDevice == |
1045 blink::WebGestureDevice::WebGestureDeviceTouchpad)); | 1049 blink::WebGestureDevice::WebGestureDeviceTouchpad)); |
1046 *is_in_gesture_scroll = false; | 1050 *is_in_gesture_scroll = false; |
1047 } | 1051 } |
1048 | 1052 |
1049 bool scroll_update_needs_wrapping = | 1053 bool scroll_update_needs_wrapping = |
1050 gesture_event.type == blink::WebInputEvent::GestureScrollUpdate && | 1054 gesture_event.type == blink::WebInputEvent::GestureScrollUpdate && |
1051 gesture_event.resendingPluginId != -1 && !(*is_in_gesture_scroll); | 1055 gesture_event.resendingPluginId != -1 && !(*is_in_gesture_scroll); |
1052 | 1056 |
| 1057 // TODO(crbug.com/544782): Fix WebViewGuestScrollTest.TestGuestWheelScrolls- |
| 1058 // Bubble to test the resending logic of gesture events. |
1053 if (scroll_update_needs_wrapping) { | 1059 if (scroll_update_needs_wrapping) { |
1054 ForwardGestureEventWithLatencyInfo( | 1060 ForwardGestureEventWithLatencyInfo( |
1055 CreateScrollBeginForWrapping(gesture_event), | 1061 CreateScrollBeginForWrapping(gesture_event), |
1056 ui::WebInputEventTraits::CreateLatencyInfoForWebGestureEvent( | 1062 ui::WebInputEventTraits::CreateLatencyInfoForWebGestureEvent( |
1057 gesture_event)); | 1063 gesture_event)); |
1058 } | 1064 } |
1059 | 1065 |
1060 // Delegate must be non-null, due to |ShouldDropInputEvents()| test. | 1066 // Delegate must be non-null, due to |ShouldDropInputEvents()| test. |
1061 if (delegate_->PreHandleGestureEvent(gesture_event)) | 1067 if (delegate_->PreHandleGestureEvent(gesture_event)) |
1062 return; | 1068 return; |
(...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2215 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; | 2221 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; |
2216 } | 2222 } |
2217 | 2223 |
2218 BrowserAccessibilityManager* | 2224 BrowserAccessibilityManager* |
2219 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { | 2225 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { |
2220 return delegate_ ? | 2226 return delegate_ ? |
2221 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; | 2227 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; |
2222 } | 2228 } |
2223 | 2229 |
2224 } // namespace content | 2230 } // namespace content |
OLD | NEW |