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

Side by Side Diff: content/browser/renderer_host/input/input_router_impl.cc

Issue 181723006: Handle mac trackpad zoom via GesturePinch events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added tests Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/input/input_router_impl.h" 5 #include "content/browser/renderer_host/input/input_router_impl.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 gesture_event_queue_->FlingHasBeenHalted(); 235 gesture_event_queue_->FlingHasBeenHalted();
236 236
237 // Only forward the non-native portions of our event. 237 // Only forward the non-native portions of our event.
238 FilterAndSendWebInputEvent(key_event, latency_info, is_keyboard_shortcut); 238 FilterAndSendWebInputEvent(key_event, latency_info, is_keyboard_shortcut);
239 } 239 }
240 240
241 void InputRouterImpl::SendGestureEvent( 241 void InputRouterImpl::SendGestureEvent(
242 const GestureEventWithLatencyInfo& original_gesture_event) { 242 const GestureEventWithLatencyInfo& original_gesture_event) {
243 event_stream_validator_.OnEvent(original_gesture_event.event); 243 event_stream_validator_.OnEvent(original_gesture_event.event);
244 GestureEventWithLatencyInfo gesture_event(original_gesture_event); 244 GestureEventWithLatencyInfo gesture_event(original_gesture_event);
245
246 // Trackpad pinch gestures are not yet handled by the renderer.
247 // TODO(rbyers): Send mousewheel for trackpad pinch - crbug.com/289887.
248 if (gesture_event.event.sourceDevice == WebGestureEvent::Touchpad &&
jdduke (slow) 2014/03/26 23:13:43 I always hesitate to ack an event out-of-order. W
Rick Byers 2014/03/27 01:44:09 Yeah that's probably better - done.
249 (gesture_event.event.type == WebInputEvent::GesturePinchUpdate)) {
250 ack_handler_->OnGestureEventAck(gesture_event,
251 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
252 return;
253 }
254
245 if (touch_action_filter_.FilterGestureEvent(&gesture_event.event)) 255 if (touch_action_filter_.FilterGestureEvent(&gesture_event.event))
246 return; 256 return;
247 257
248 touch_event_queue_->OnGestureScrollEvent(gesture_event); 258 touch_event_queue_->OnGestureScrollEvent(gesture_event);
249 259
250 if (!IsInOverscrollGesture() && 260 if (!IsInOverscrollGesture() &&
251 !gesture_event_queue_->ShouldForward(gesture_event)) { 261 !gesture_event_queue_->ShouldForward(gesture_event)) {
252 OverscrollController* controller = client_->GetOverscrollController(); 262 OverscrollController* controller = client_->GetOverscrollController();
253 if (controller) 263 if (controller)
254 controller->DiscardingGestureEvent(gesture_event.event); 264 controller->DiscardingGestureEvent(gesture_event.event);
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 touch_event_queue_->SetAckTimeoutEnabled(touch_ack_timeout_enabled, 817 touch_event_queue_->SetAckTimeoutEnabled(touch_ack_timeout_enabled,
808 touch_ack_timeout_delay_); 818 touch_ack_timeout_delay_);
809 } 819 }
810 820
811 bool InputRouterImpl::IsInOverscrollGesture() const { 821 bool InputRouterImpl::IsInOverscrollGesture() const {
812 OverscrollController* controller = client_->GetOverscrollController(); 822 OverscrollController* controller = client_->GetOverscrollController();
813 return controller && controller->overscroll_mode() != OVERSCROLL_NONE; 823 return controller && controller->overscroll_mode() != OVERSCROLL_NONE;
814 } 824 }
815 825
816 } // namespace content 826 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698