Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
index 85b53668399fce53f139789eb30be5f78163600e..2dd4181a38c30cc2a2907448ccf5b8afe0765123 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -88,6 +88,7 @@ using blink::WebInputEvent; |
using blink::WebInputEventFactory; |
using blink::WebMouseEvent; |
using blink::WebMouseWheelEvent; |
+using blink::WebGestureEvent; |
// These are not documented, so use only after checking -respondsToSelector:. |
@interface NSApplication (UndocumentedSpeechMethods) |
@@ -2864,6 +2865,20 @@ SkBitmap::Config RenderWidgetHostViewMac::PreferredReadbackFormat() { |
} |
} |
+// Called repeatedly during a pinch gesture, with incremental change values. |
+- (void)magnifyWithEvent:(NSEvent*)event { |
+ if (renderWidgetHostView_->render_widget_host_) { |
+ // Send a GesturePinchUpdate event. |
+ // Note that we don't attempt to bracket these by GesturePinchBegin/End (or |
+ // GestureSrollBegin/End) as is done for touchscreen. Keeping track of when |
+ // a pinch is active would take a little more work here, and we don't need |
+ // it for anything yet. |
+ const WebGestureEvent& webEvent = |
+ WebInputEventFactory::gestureEvent(event, self); |
+ renderWidgetHostView_->render_widget_host_->ForwardGestureEvent(webEvent); |
+ } |
+} |
+ |
- (void)viewWillMoveToWindow:(NSWindow*)newWindow { |
NSWindow* oldWindow = [self window]; |