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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 1847823005: Fix Event Latency Info on generate gesture events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove debugging Created 4 years, 8 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 (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 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 in_flight_event_count_(0), 194 in_flight_event_count_(0),
195 in_get_backing_store_(false), 195 in_get_backing_store_(false),
196 ignore_input_events_(false), 196 ignore_input_events_(false),
197 text_direction_updated_(false), 197 text_direction_updated_(false),
198 text_direction_(blink::WebTextDirectionLeftToRight), 198 text_direction_(blink::WebTextDirectionLeftToRight),
199 text_direction_canceled_(false), 199 text_direction_canceled_(false),
200 suppress_next_char_events_(false), 200 suppress_next_char_events_(false),
201 pending_mouse_lock_request_(false), 201 pending_mouse_lock_request_(false),
202 allow_privileged_mouse_lock_(false), 202 allow_privileged_mouse_lock_(false),
203 has_touch_handler_(false), 203 has_touch_handler_(false),
204 is_in_gesture_scroll_(false), 204 is_in_touchpad_gesture_scroll_(false),
205 is_in_touchscreen_gesture_scroll_(false),
205 received_paint_after_load_(false), 206 received_paint_after_load_(false),
206 next_browser_snapshot_id_(1), 207 next_browser_snapshot_id_(1),
207 owned_by_render_frame_host_(false), 208 owned_by_render_frame_host_(false),
208 is_focused_(false), 209 is_focused_(false),
209 scale_input_to_viewport_(IsUseZoomForDSFEnabled()), 210 scale_input_to_viewport_(IsUseZoomForDSFEnabled()),
210 hung_renderer_delay_( 211 hung_renderer_delay_(
211 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), 212 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)),
212 new_content_rendering_delay_( 213 new_content_rendering_delay_(
213 base::TimeDelta::FromMilliseconds(kNewContentRenderingDelayMs)), 214 base::TimeDelta::FromMilliseconds(kNewContentRenderingDelayMs)),
214 weak_factory_(this) { 215 weak_factory_(this) {
(...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 const blink::WebGestureEvent& gesture_event, 1021 const blink::WebGestureEvent& gesture_event,
1021 const ui::LatencyInfo& ui_latency) { 1022 const ui::LatencyInfo& ui_latency) {
1022 TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardGestureEvent"); 1023 TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardGestureEvent");
1023 // Early out if necessary, prior to performing latency logic. 1024 // Early out if necessary, prior to performing latency logic.
1024 if (ShouldDropInputEvents()) 1025 if (ShouldDropInputEvents())
1025 return; 1026 return;
1026 1027
1027 // TODO(wjmaclean) Remove the code for supporting resending gesture events 1028 // TODO(wjmaclean) Remove the code for supporting resending gesture events
1028 // when WebView transitions to OOPIF and BrowserPlugin is removed. 1029 // when WebView transitions to OOPIF and BrowserPlugin is removed.
1029 // http://crbug.com/533069 1030 // http://crbug.com/533069
1031 bool* is_in_gesture_scroll =
1032 gesture_event.sourceDevice ==
1033 blink::WebGestureDevice::WebGestureDeviceTouchpad
1034 ? &is_in_touchpad_gesture_scroll_
1035 : &is_in_touchscreen_gesture_scroll_;
tdresser 2016/04/04 15:47:48 I think it would be simpler to just have a bool "i
tdresser 2016/04/04 15:57:21 Dave pointed out this is simpler, cause we don't n
1030 if (gesture_event.type == blink::WebInputEvent::GestureScrollBegin) { 1036 if (gesture_event.type == blink::WebInputEvent::GestureScrollBegin) {
1031 DCHECK(!is_in_gesture_scroll_); 1037 DCHECK(!(*is_in_gesture_scroll));
1032 is_in_gesture_scroll_ = true; 1038 *is_in_gesture_scroll = true;
1033 } else if (gesture_event.type == blink::WebInputEvent::GestureScrollEnd || 1039 } else if (gesture_event.type == blink::WebInputEvent::GestureScrollEnd ||
1034 gesture_event.type == blink::WebInputEvent::GestureFlingStart) { 1040 gesture_event.type == blink::WebInputEvent::GestureFlingStart) {
1035 DCHECK(is_in_gesture_scroll_ || 1041 DCHECK(*is_in_gesture_scroll ||
1036 (gesture_event.type == blink::WebInputEvent::GestureFlingStart && 1042 (gesture_event.type == blink::WebInputEvent::GestureFlingStart &&
1037 gesture_event.sourceDevice == 1043 gesture_event.sourceDevice ==
1038 blink::WebGestureDevice::WebGestureDeviceTouchpad)); 1044 blink::WebGestureDevice::WebGestureDeviceTouchpad));
1039 is_in_gesture_scroll_ = false; 1045 *is_in_gesture_scroll = false;
1040 } 1046 }
1041 1047
1042 bool scroll_update_needs_wrapping = 1048 bool scroll_update_needs_wrapping =
1043 gesture_event.type == blink::WebInputEvent::GestureScrollUpdate && 1049 gesture_event.type == blink::WebInputEvent::GestureScrollUpdate &&
1044 gesture_event.resendingPluginId != -1 && !is_in_gesture_scroll_; 1050 gesture_event.resendingPluginId != -1 && !(*is_in_gesture_scroll);
1045 1051
1046 if (scroll_update_needs_wrapping) { 1052 if (scroll_update_needs_wrapping) {
1047 ForwardGestureEventWithLatencyInfo( 1053 ForwardGestureEventWithLatencyInfo(
1048 CreateScrollBeginForWrapping(gesture_event), ui::LatencyInfo()); 1054 CreateScrollBeginForWrapping(gesture_event), ui::LatencyInfo());
1049 } 1055 }
1050 1056
1051 // Delegate must be non-null, due to |ShouldDropInputEvents()| test. 1057 // Delegate must be non-null, due to |ShouldDropInputEvents()| test.
1052 if (delegate_->PreHandleGestureEvent(gesture_event)) 1058 if (delegate_->PreHandleGestureEvent(gesture_event))
1053 return; 1059 return;
1054 1060
(...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2166 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; 2172 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL;
2167 } 2173 }
2168 2174
2169 BrowserAccessibilityManager* 2175 BrowserAccessibilityManager*
2170 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { 2176 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() {
2171 return delegate_ ? 2177 return delegate_ ?
2172 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; 2178 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL;
2173 } 2179 }
2174 2180
2175 } // namespace content 2181 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698