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

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: Fix nits Created 3 years, 11 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 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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 void CrossProcessFrameConnector::ForwardProcessAckedTouchEvent( 177 void CrossProcessFrameConnector::ForwardProcessAckedTouchEvent(
178 const TouchEventWithLatencyInfo& touch, 178 const TouchEventWithLatencyInfo& touch,
179 InputEventAckState ack_result) { 179 InputEventAckState ack_result) {
180 auto* main_view = GetRootRenderWidgetHostView(); 180 auto* main_view = GetRootRenderWidgetHostView();
181 if (main_view) 181 if (main_view)
182 main_view->ProcessAckedTouchEvent(touch, ack_result); 182 main_view->ProcessAckedTouchEvent(touch, ack_result);
183 } 183 }
184 184
185 void CrossProcessFrameConnector::BubbleScrollEvent( 185 void CrossProcessFrameConnector::BubbleScrollEvent(
186 const blink::WebGestureEvent& event) { 186 const blink::WebGestureEvent& event) {
187 DCHECK(event.type == blink::WebInputEvent::GestureScrollUpdate || 187 DCHECK(event.type() == blink::WebInputEvent::GestureScrollUpdate ||
188 event.type == blink::WebInputEvent::GestureScrollEnd); 188 event.type() == blink::WebInputEvent::GestureScrollEnd);
189 auto* parent_view = GetParentRenderWidgetHostView(); 189 auto* parent_view = GetParentRenderWidgetHostView();
190 190
191 if (!parent_view) 191 if (!parent_view)
192 return; 192 return;
193 193
194 auto* event_router = 194 auto* event_router =
195 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost()) 195 RenderWidgetHostImpl::From(parent_view->GetRenderWidgetHost())
196 ->delegate() 196 ->delegate()
197 ->GetInputEventRouter(); 197 ->GetInputEventRouter();
198 198
199 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin(); 199 gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin();
200 blink::WebGestureEvent resent_gesture_event(event); 200 blink::WebGestureEvent resent_gesture_event(event);
201 // TODO(kenrb, wjmaclean): Do we need to account for transforms here? 201 // TODO(kenrb, wjmaclean): Do we need to account for transforms here?
202 // See https://crbug.com/626020. 202 // See https://crbug.com/626020.
203 resent_gesture_event.x += offset_from_parent.x(); 203 resent_gesture_event.x += offset_from_parent.x();
204 resent_gesture_event.y += offset_from_parent.y(); 204 resent_gesture_event.y += offset_from_parent.y();
205 if (event.type == blink::WebInputEvent::GestureScrollUpdate) { 205 if (event.type() == blink::WebInputEvent::GestureScrollUpdate) {
206 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 206 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
207 is_scroll_bubbling_ = true; 207 is_scroll_bubbling_ = true;
208 } else if (event.type == blink::WebInputEvent::GestureScrollEnd && 208 } else if (event.type() == blink::WebInputEvent::GestureScrollEnd &&
209 is_scroll_bubbling_) { 209 is_scroll_bubbling_) {
210 event_router->BubbleScrollEvent(parent_view, resent_gesture_event); 210 event_router->BubbleScrollEvent(parent_view, resent_gesture_event);
211 is_scroll_bubbling_ = false; 211 is_scroll_bubbling_ = false;
212 } 212 }
213 } 213 }
214 214
215 bool CrossProcessFrameConnector::HasFocus() { 215 bool CrossProcessFrameConnector::HasFocus() {
216 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView(); 216 RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView();
217 if (root_view) 217 if (root_view)
218 return root_view->HasFocus(); 218 return root_view->HasFocus();
(...skipping 28 matching lines...) Expand all
247 frame_proxy_in_parent_renderer_->frame_tree_node()->render_manager(); 247 frame_proxy_in_parent_renderer_->frame_tree_node()->render_manager();
248 RenderWidgetHostImpl* parent_widget = 248 RenderWidgetHostImpl* parent_widget =
249 manager->ForInnerDelegate() 249 manager->ForInnerDelegate()
250 ? manager->GetOuterRenderWidgetHostForKeyboardInput() 250 ? manager->GetOuterRenderWidgetHostForKeyboardInput()
251 : frame_proxy_in_parent_renderer_->GetRenderViewHost()->GetWidget(); 251 : frame_proxy_in_parent_renderer_->GetRenderViewHost()->GetWidget();
252 252
253 // TODO(wjmaclean): We should remove these forwarding functions, since they 253 // TODO(wjmaclean): We should remove these forwarding functions, since they
254 // are directly target using RenderWidgetHostInputEventRouter. But neither 254 // are directly target using RenderWidgetHostInputEventRouter. But neither
255 // pathway is currently handling gesture events, so that needs to be fixed 255 // pathway is currently handling gesture events, so that needs to be fixed
256 // in a subsequent CL. 256 // in a subsequent CL.
257 if (blink::WebInputEvent::isKeyboardEventType(event->type)) { 257 if (blink::WebInputEvent::isKeyboardEventType(event->type())) {
258 if (!parent_widget->GetLastKeyboardEvent()) 258 if (!parent_widget->GetLastKeyboardEvent())
259 return; 259 return;
260 NativeWebKeyboardEvent keyboard_event( 260 NativeWebKeyboardEvent keyboard_event(
261 *parent_widget->GetLastKeyboardEvent()); 261 *parent_widget->GetLastKeyboardEvent());
262 view_->ProcessKeyboardEvent(keyboard_event); 262 view_->ProcessKeyboardEvent(keyboard_event);
263 return; 263 return;
264 } 264 }
265 265
266 if (blink::WebInputEvent::isMouseEventType(event->type)) { 266 if (blink::WebInputEvent::isMouseEventType(event->type())) {
267 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs. 267 // TODO(wjmaclean): Initialize latency info correctly for OOPIFs.
268 // https://crbug.com/613628 268 // https://crbug.com/613628
269 ui::LatencyInfo latency_info; 269 ui::LatencyInfo latency_info;
270 view_->ProcessMouseEvent(*static_cast<const blink::WebMouseEvent*>(event), 270 view_->ProcessMouseEvent(*static_cast<const blink::WebMouseEvent*>(event),
271 latency_info); 271 latency_info);
272 return; 272 return;
273 } 273 }
274 274
275 if (event->type == blink::WebInputEvent::MouseWheel) { 275 if (event->type() == blink::WebInputEvent::MouseWheel) {
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_->ProcessMouseWheelEvent( 279 view_->ProcessMouseWheelEvent(
280 *static_cast<const blink::WebMouseWheelEvent*>(event), latency_info); 280 *static_cast<const blink::WebMouseWheelEvent*>(event), latency_info);
281 return; 281 return;
282 } 282 }
283 } 283 }
284 284
285 void CrossProcessFrameConnector::OnFrameRectChanged( 285 void CrossProcessFrameConnector::OnFrameRectChanged(
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 369
370 if (parent) { 370 if (parent) {
371 return static_cast<RenderWidgetHostViewBase*>( 371 return static_cast<RenderWidgetHostViewBase*>(
372 parent->current_frame_host()->GetView()); 372 parent->current_frame_host()->GetView());
373 } 373 }
374 374
375 return nullptr; 375 return nullptr;
376 } 376 }
377 377
378 } // namespace content 378 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/protocol/color_picker.cc ('k') | 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