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

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

Issue 2323093002: Dummy WebGestureEvent() sent to SendGestureScrollEvent() needs proper type. (Closed)
Patch Set: Created 4 years, 3 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_input_event_router.h" 5 #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "cc/quads/surface_draw_quad.h" 8 #include "cc/quads/surface_draw_quad.h"
9 #include "cc/surfaces/surface_id_allocator.h" 9 #include "cc/surfaces/surface_id_allocator.h"
10 #include "cc/surfaces/surface_manager.h" 10 #include "cc/surfaces/surface_manager.h"
11 #include "content/browser/renderer_host/render_widget_host_impl.h" 11 #include "content/browser/renderer_host/render_widget_host_impl.h"
12 #include "content/browser/renderer_host/render_widget_host_view_base.h" 12 #include "content/browser/renderer_host/render_widget_host_view_base.h"
13 #include "content/common/frame_messages.h" 13 #include "content/common/frame_messages.h"
14 #include "third_party/WebKit/public/web/WebInputEvent.h" 14 #include "third_party/WebKit/public/web/WebInputEvent.h"
15 15
16 namespace { 16 namespace {
17 17
18 void TransformEventTouchPositions(blink::WebTouchEvent* event, 18 void TransformEventTouchPositions(blink::WebTouchEvent* event,
19 const gfx::Vector2d& delta) { 19 const gfx::Vector2d& delta) {
20 for (unsigned i = 0; i < event->touchesLength; ++i) { 20 for (unsigned i = 0; i < event->touchesLength; ++i) {
21 event->touches[i].position.x += delta.x(); 21 event->touches[i].position.x += delta.x();
22 event->touches[i].position.y += delta.y(); 22 event->touches[i].position.y += delta.y();
23 } 23 }
24 } 24 }
25 25
26 blink::WebGestureEvent DummyGestureScrollUpdate() {
27 blink::WebGestureEvent dummy_gesture_scroll_update;
28 dummy_gesture_scroll_update.type = blink::WebInputEvent::GestureScrollUpdate;
29 return dummy_gesture_scroll_update;
30 }
31
26 } // anonymous namespace 32 } // anonymous namespace
27 33
28 namespace content { 34 namespace content {
29 35
30 void RenderWidgetHostInputEventRouter::OnRenderWidgetHostViewBaseDestroyed( 36 void RenderWidgetHostInputEventRouter::OnRenderWidgetHostViewBaseDestroyed(
31 RenderWidgetHostViewBase* view) { 37 RenderWidgetHostViewBase* view) {
32 view->RemoveObserver(this); 38 view->RemoveObserver(this);
33 39
34 // Remove this view from the owner_map. 40 // Remove this view from the owner_map.
35 for (auto entry : owner_map_) { 41 for (auto entry : owner_map_) {
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 // might be to always transform each point to the |touch_target_.target| 251 // might be to always transform each point to the |touch_target_.target|
246 // for the duration of the sequence. 252 // for the duration of the sequence.
247 touch_target_.delta = transformed_point - original_point; 253 touch_target_.delta = transformed_point - original_point;
248 touchscreen_gesture_target_queue_.push_back(touch_target_); 254 touchscreen_gesture_target_queue_.push_back(touch_target_);
249 255
250 if (!touch_target_.target) 256 if (!touch_target_.target)
251 return; 257 return;
252 258
253 if (touch_target_.target == bubbling_gesture_scroll_target_.target) { 259 if (touch_target_.target == bubbling_gesture_scroll_target_.target) {
254 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target, 260 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target,
255 blink::WebGestureEvent()); 261 DummyGestureScrollUpdate());
256 CancelScrollBubbling(bubbling_gesture_scroll_target_.target); 262 CancelScrollBubbling(bubbling_gesture_scroll_target_.target);
257 } 263 }
258 } 264 }
259 265
260 if (touch_target_.target) { 266 if (touch_target_.target) {
261 TransformEventTouchPositions(event, touch_target_.delta); 267 TransformEventTouchPositions(event, touch_target_.delta);
262 touch_target_.target->ProcessTouchEvent(*event, latency); 268 touch_target_.target->ProcessTouchEvent(*event, latency);
263 } 269 }
264 break; 270 break;
265 } 271 }
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 } 496 }
491 497
492 touchscreen_gesture_target_ = touchscreen_gesture_target_queue_.front(); 498 touchscreen_gesture_target_ = touchscreen_gesture_target_queue_.front();
493 touchscreen_gesture_target_queue_.pop_front(); 499 touchscreen_gesture_target_queue_.pop_front();
494 500
495 // Abort any scroll bubbling in progress to avoid double entry. 501 // Abort any scroll bubbling in progress to avoid double entry.
496 if (touchscreen_gesture_target_.target && 502 if (touchscreen_gesture_target_.target &&
497 touchscreen_gesture_target_.target == 503 touchscreen_gesture_target_.target ==
498 bubbling_gesture_scroll_target_.target) { 504 bubbling_gesture_scroll_target_.target) {
499 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target, 505 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target,
500 blink::WebGestureEvent()); 506 DummyGestureScrollUpdate());
501 CancelScrollBubbling(bubbling_gesture_scroll_target_.target); 507 CancelScrollBubbling(bubbling_gesture_scroll_target_.target);
502 } 508 }
503 } 509 }
504 510
505 if (!touchscreen_gesture_target_.target) 511 if (!touchscreen_gesture_target_.target)
506 return; 512 return;
507 513
508 // TODO(mohsen): Add tests to check event location. 514 // TODO(mohsen): Add tests to check event location.
509 event->x += touchscreen_gesture_target_.delta.x(); 515 event->x += touchscreen_gesture_target_.delta.x();
510 event->y += touchscreen_gesture_target_.delta.y(); 516 event->y += touchscreen_gesture_target_.delta.y();
(...skipping 17 matching lines...) Expand all
528 // touchpad gesture sequence, though this could be wrong; a better approach 534 // touchpad gesture sequence, though this could be wrong; a better approach
529 // might be to always transform each point to the 535 // might be to always transform each point to the
530 // |touchpad_gesture_target_.target| for the duration of the sequence. 536 // |touchpad_gesture_target_.target| for the duration of the sequence.
531 touchpad_gesture_target_.delta = transformed_point - original_point; 537 touchpad_gesture_target_.delta = transformed_point - original_point;
532 538
533 // Abort any scroll bubbling in progress to avoid double entry. 539 // Abort any scroll bubbling in progress to avoid double entry.
534 if (touchpad_gesture_target_.target && 540 if (touchpad_gesture_target_.target &&
535 touchpad_gesture_target_.target == 541 touchpad_gesture_target_.target ==
536 bubbling_gesture_scroll_target_.target) { 542 bubbling_gesture_scroll_target_.target) {
537 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target, 543 SendGestureScrollEnd(bubbling_gesture_scroll_target_.target,
538 blink::WebGestureEvent()); 544 DummyGestureScrollUpdate());
539 CancelScrollBubbling(bubbling_gesture_scroll_target_.target); 545 CancelScrollBubbling(bubbling_gesture_scroll_target_.target);
540 } 546 }
541 } 547 }
542 548
543 if (!touchpad_gesture_target_.target) 549 if (!touchpad_gesture_target_.target)
544 return; 550 return;
545 551
546 // TODO(mohsen): Add tests to check event location. 552 // TODO(mohsen): Add tests to check event location.
547 event->x += touchpad_gesture_target_.delta.x(); 553 event->x += touchpad_gesture_target_.delta.x();
548 event->y += touchpad_gesture_target_.delta.y(); 554 event->y += touchpad_gesture_target_.delta.y();
549 touchpad_gesture_target_.target->ProcessGestureEvent(*event, latency); 555 touchpad_gesture_target_.target->ProcessGestureEvent(*event, latency);
550 } 556 }
551 557
552 } // namespace content 558 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698