Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 277dce675cf85fa84a2d76fd1ab0226cc9affed4..835cb2cc5d5921686007ec69ff30a221e85d6a7d 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -6,6 +6,7 @@ |
#include "base/bind.h" |
#include "base/bind_helpers.h" |
+#include "base/command_line.h" |
#include "base/logging.h" |
#include "base/memory/weak_ptr.h" |
#include "base/message_loop.h" |
@@ -18,6 +19,7 @@ |
#include "content/common/gpu/gpu_messages.h" |
#include "content/port/browser/render_widget_host_view_port.h" |
#include "content/public/browser/browser_thread.h" |
+#include "content/public/common/content_switches.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderline.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h" |
@@ -121,6 +123,13 @@ void GetScreenInfoForWindow(WebKit::WebScreenInfo* results, |
results->horizontalDPI = default_dpi; |
} |
+bool ShouldSendPinchGesture() { |
+ static bool pinch_allowed = |
+ CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableViewport) || |
+ CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnablePinch); |
+ return pinch_allowed; |
+} |
+ |
} // namespace |
// We have to implement the WindowObserver interface on a separate object |
@@ -1064,6 +1073,13 @@ ui::TouchStatus RenderWidgetHostViewAura::OnTouchEvent( |
ui::GestureStatus RenderWidgetHostViewAura::OnGestureEvent( |
aura::GestureEvent* event) { |
+ // Pinch gestures are currently disabled by default. See crbug.com/128477. |
+ if ((event->type() == ui::ET_GESTURE_PINCH_BEGIN || |
+ event->type() == ui::ET_GESTURE_PINCH_UPDATE || |
+ event->type() == ui::ET_GESTURE_PINCH_END) && !ShouldSendPinchGesture()) { |
+ return ui::GESTURE_STATUS_CONSUMED; |
+ } |
+ |
WebKit::WebGestureEvent gesture = content::MakeWebGestureEvent(event); |
if (event->type() == ui::ET_GESTURE_TAP_DOWN) { |
// Webkit does not stop a fling-scroll on tap-down. So explicitly send an |