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

Side by Side Diff: content/browser/frame_host/cross_process_frame_connector.cc

Issue 2842203002: Forward GestureFlingStart in OOPIF, re-enable DCHECK. (Closed)
Patch Set: Add test descriptions, comment. Created 3 years, 7 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
« no previous file with comments | « no previous file | content/browser/frame_host/render_widget_host_view_child_frame.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/frame_host/cross_process_frame_connector.h" 5 #include "content/browser/frame_host/cross_process_frame_connector.h"
6 6
7 #include "cc/surfaces/surface.h" 7 #include "cc/surfaces/surface.h"
8 #include "cc/surfaces/surface_hittest.h" 8 #include "cc/surfaces/surface_hittest.h"
9 #include "cc/surfaces/surface_manager.h" 9 #include "cc/surfaces/surface_manager.h"
10 #include "content/browser/compositor/surface_utils.h" 10 #include "content/browser/compositor/surface_utils.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 const TouchEventWithLatencyInfo& touch, 176 const TouchEventWithLatencyInfo& touch,
177 InputEventAckState ack_result) { 177 InputEventAckState ack_result) {
178 auto* main_view = GetRootRenderWidgetHostView(); 178 auto* main_view = GetRootRenderWidgetHostView();
179 if (main_view) 179 if (main_view)
180 main_view->ProcessAckedTouchEvent(touch, ack_result); 180 main_view->ProcessAckedTouchEvent(touch, ack_result);
181 } 181 }
182 182
183 void CrossProcessFrameConnector::BubbleScrollEvent( 183 void CrossProcessFrameConnector::BubbleScrollEvent(
184 const blink::WebGestureEvent& event) { 184 const blink::WebGestureEvent& event) {
185 DCHECK(event.GetType() == blink::WebInputEvent::kGestureScrollUpdate || 185 DCHECK(event.GetType() == blink::WebInputEvent::kGestureScrollUpdate ||
186 event.GetType() == blink::WebInputEvent::kGestureScrollEnd); 186 event.GetType() == blink::WebInputEvent::kGestureScrollEnd ||
187 event.GetType() == blink::WebInputEvent::kGestureFlingStart);
187 auto* parent_view = GetParentRenderWidgetHostView(); 188 auto* parent_view = GetParentRenderWidgetHostView();
188 189
189 if (!parent_view) 190 if (!parent_view)
190 return; 191 return;
191 192
192 auto* event_router = 193 auto* event_router =
193 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost()) 194 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost())
194 ->delegate() 195 ->delegate()
195 ->GetInputEventRouter(); 196 ->GetInputEventRouter();
196 197
197 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin(); 198 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin();
198 blink::WebGestureEvent resent_gesture_event(event); 199 blink::WebGestureEvent resent_gesture_event(event);
199 // TODO(kenrb, wjmaclean): Do we need to account for transforms here? 200 // TODO(kenrb, wjmaclean): Do we need to account for transforms here?
200 // See https://crbug.com/626020. 201 // See https://crbug.com/626020.
201 resent_gesture_event.x += offset_from_parent.x(); 202 resent_gesture_event.x += offset_from_parent.x();
202 resent_gesture_event.y += offset_from_parent.y(); 203 resent_gesture_event.y += offset_from_parent.y();
203 if (event.GetType() == blink::WebInputEvent::kGestureScrollUpdate) { 204 if (event.GetType() == blink::WebInputEvent::kGestureScrollUpdate) {
204 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 205 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
205 is_scroll_bubbling_ = true; 206 is_scroll_bubbling_ = true;
206 } else if (event.GetType() == blink::WebInputEvent::kGestureScrollEnd && 207 } else if ((event.GetType() == blink::WebInputEvent::kGestureScrollEnd ||
208 event.GetType() == blink::WebInputEvent::kGestureFlingStart) &&
207 is_scroll_bubbling_) { 209 is_scroll_bubbling_) {
208 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 210 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
209 is_scroll_bubbling_ = false; 211 is_scroll_bubbling_ = false;
210 } 212 }
211 } 213 }
212 214
213 bool CrossProcessFrameConnector::HasFocus() { 215 bool CrossProcessFrameConnector::HasFocus() {
214 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView(); 216 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView();
215 if (root_view) 217 if (root_view)
216 return root_view->HasFocus(); 218 return root_view->HasFocus();
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 331
330 if (parent) { 332 if (parent) {
331 return static_cast<RenderWidgetHostViewBase*>( 333 return static_cast<RenderWidgetHostViewBase*>(
332 parent->current_frame_host()->GetView()); 334 parent->current_frame_host()->GetView());
333 } 335 }
334 336
335 return nullptr; 337 return nullptr;
336 } 338 }
337 339
338 } // namespace content 340 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/frame_host/render_widget_host_view_child_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698