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

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

Issue 2573073003: Collapse the API surface on WebInputEvent via accessor functions. (Closed)
Patch Set: Created 4 years 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 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 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 void CrossProcessFrameConnector::ForwardProcessAckedTouchEvent( 186 void CrossProcessFrameConnector::ForwardProcessAckedTouchEvent(
187 const TouchEventWithLatencyInfo& touch, 187 const TouchEventWithLatencyInfo& touch,
188 InputEventAckState ack_result) { 188 InputEventAckState ack_result) {
189 auto* main_view = GetRootRenderWidgetHostView(); 189 auto* main_view = GetRootRenderWidgetHostView();
190 if (main_view) 190 if (main_view)
191 main_view->ProcessAckedTouchEvent(touch, ack_result); 191 main_view->ProcessAckedTouchEvent(touch, ack_result);
192 } 192 }
193 193
194 void CrossProcessFrameConnector::BubbleScrollEvent( 194 void CrossProcessFrameConnector::BubbleScrollEvent(
195 const blink::WebGestureEvent& event) { 195 const blink::WebGestureEvent& event) {
196 DCHECK(event.type == blink::WebInputEvent::GestureScrollUpdate || 196 DCHECK(event.type() == blink::WebInputEvent::GestureScrollUpdate ||
197 event.type == blink::WebInputEvent::GestureScrollEnd); 197 event.type() == blink::WebInputEvent::GestureScrollEnd);
198 auto* parent_view = GetParentRenderWidgetHostView(); 198 auto* parent_view = GetParentRenderWidgetHostView();
199 199
200 if (!parent_view) 200 if (!parent_view)
201 return; 201 return;
202 202
203 auto* event_router = 203 auto* event_router =
204 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost()) 204 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost())
205 ->delegate() 205 ->delegate()
206 ->GetInputEventRouter(); 206 ->GetInputEventRouter();
207 207
208 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin(); 208 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin();
209 blink::WebGestureEvent resent_gesture_event(event); 209 blink::WebGestureEvent resent_gesture_event(event);
210 // TODO(kenrb, wjmaclean): Do we need to account for transforms here? 210 // TODO(kenrb, wjmaclean): Do we need to account for transforms here?
211 // See https://crbug.com/626020. 211 // See https://crbug.com/626020.
212 resent_gesture_event.x += offset_from_parent.x(); 212 resent_gesture_event.x += offset_from_parent.x();
213 resent_gesture_event.y += offset_from_parent.y(); 213 resent_gesture_event.y += offset_from_parent.y();
214 if (event.type == blink::WebInputEvent::GestureScrollUpdate) { 214 if (event.type() == blink::WebInputEvent::GestureScrollUpdate) {
215 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 215 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
216 is_scroll_bubbling_ = true; 216 is_scroll_bubbling_ = true;
217 } else if (event.type == blink::WebInputEvent::GestureScrollEnd && 217 } else if (event.type() == blink::WebInputEvent::GestureScrollEnd &&
218 is_scroll_bubbling_) { 218 is_scroll_bubbling_) {
219 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 219 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
220 is_scroll_bubbling_ = false; 220 is_scroll_bubbling_ = false;
221 } 221 }
222 } 222 }
223 223
224 bool CrossProcessFrameConnector::HasFocus() { 224 bool CrossProcessFrameConnector::HasFocus() {
225 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView(); 225 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView();
226 if (root_view) 226 if (root_view)
227 return root_view->HasFocus(); 227 return root_view->HasFocus();
(...skipping 28 matching lines...) Expand all
256 frame_proxy_in_parent_renderer_->frame_tree_node()->render_manager(); 256 frame_proxy_in_parent_renderer_->frame_tree_node()->render_manager();
257 RenderWidgetHostImpl* parent_widget = 257 RenderWidgetHostImpl* parent_widget =
258 manager->ForInnerDelegate() 258 manager->ForInnerDelegate()
259 ? manager->GetOuterRenderWidgetHostForKeyboardInput() 259 ? manager->GetOuterRenderWidgetHostForKeyboardInput()
260 : frame_proxy_in_parent_renderer_->GetRenderViewHost()->GetWidget(); 260 : frame_proxy_in_parent_renderer_->GetRenderViewHost()->GetWidget();
261 261
262 // TODO(wjmaclean): We should remove these forwarding functions, since they 262 // TODO(wjmaclean): We should remove these forwarding functions, since they
263 // are directly target using RenderWidgetHostInputEventRouter. But neither 263 // are directly target using RenderWidgetHostInputEventRouter. But neither
264 // pathway is currently handling gesture events, so that needs to be fixed 264 // pathway is currently handling gesture events, so that needs to be fixed
265 // in a subsequent CL. 265 // in a subsequent CL.
266 if (blink::WebInputEvent::isKeyboardEventType(event->type)) { 266 if (blink::WebInputEvent::isKeyboardEventType(event->type())) {
267 if (!parent_widget->GetLastKeyboardEvent()) 267 if (!parent_widget->GetLastKeyboardEvent())
268 return; 268 return;
269 NativeWebKeyboardEvent keyboard_event( 269 NativeWebKeyboardEvent keyboard_event(
270 *parent_widget->GetLastKeyboardEvent()); 270 *parent_widget->GetLastKeyboardEvent());
271 view_->ProcessKeyboardEvent(keyboard_event); 271 view_->ProcessKeyboardEvent(keyboard_event);
272 return; 272 return;
273 } 273 }
274 274
275 if (blink::WebInputEvent::isMouseEventType(event->type)) { 275 if (blink::WebInputEvent::isMouseEventType(event->type())) {
276 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs. 276 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs.
277 // https://crbug.com/613628 277 // https://crbug.com/613628
278 ui::LatencyInfo latency_info; 278 ui::LatencyInfo latency_info;
279 view_->ProcessMouseEvent(*static_cast<const blink::WebMouseEvent*>(event), 279 view_->ProcessMouseEvent(*static_cast<const blink::WebMouseEvent*>(event),
280 latency_info); 280 latency_info);
281 return; 281 return;
282 } 282 }
283 283
284 if (event->type == blink::WebInputEvent::MouseWheel) { 284 if (event->type() == blink::WebInputEvent::MouseWheel) {
285 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs. 285 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs.
286 // https://crbug.com/613628 286 // https://crbug.com/613628
287 ui::LatencyInfo latency_info; 287 ui::LatencyInfo latency_info;
288 view_->ProcessMouseWheelEvent( 288 view_->ProcessMouseWheelEvent(
289 *static_cast<const blink::WebMouseWheelEvent*>(event), latency_info); 289 *static_cast<const blink::WebMouseWheelEvent*>(event), latency_info);
290 return; 290 return;
291 } 291 }
292 } 292 }
293 293
294 void CrossProcessFrameConnector::OnFrameRectChanged( 294 void CrossProcessFrameConnector::OnFrameRectChanged(
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 378
379 if (parent) { 379 if (parent) {
380 return static_cast<RenderWidgetHostViewBase*>( 380 return static_cast<RenderWidgetHostViewBase*>(
381 parent->current_frame_host()->GetView()); 381 parent->current_frame_host()->GetView());
382 } 382 }
383 383
384 return nullptr; 384 return nullptr;
385 } 385 }
386 386
387 } // namespace content 387 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698