| 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 8a76fb4921037071b8404de0713e5365af8c1cfe..d836bc69a06c128f4c5dbada454ba582c2e53c49 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -53,6 +53,7 @@
|
| #import "content/browser/renderer_host/text_input_client_mac.h"
|
| #include "content/common/accessibility_messages.h"
|
| #include "content/common/edit_command.h"
|
| +#include "content/common/input/input_event_utils.h"
|
| #include "content/common/input_messages.h"
|
| #include "content/common/site_isolation_policy.h"
|
| #include "content/common/view_messages.h"
|
| @@ -176,6 +177,8 @@ static BOOL SupportsBackingPropertiesChangedNotification() {
|
| - (id)initWithRenderWidgetHostViewMac:(RenderWidgetHostViewMac*)r;
|
| - (void)processedWheelEvent:(const blink::WebMouseWheelEvent&)event
|
| consumed:(BOOL)consumed;
|
| +- (void)processedGestureScrollEvent:(const blink::WebGestureEvent&)event
|
| + consumed:(BOOL)consumed;
|
|
|
| - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv;
|
| - (void)windowDidChangeBackingProperties:(NSNotification*)notification;
|
| @@ -523,6 +526,7 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
|
| is_loading_(false),
|
| allow_pause_for_resize_or_repaint_(true),
|
| is_guest_view_hack_(is_guest_view_hack),
|
| + wheel_gestures_enabled_(UseGestureBasedWheelScrolling()),
|
| fullscreen_parent_host_view_(NULL),
|
| weak_factory_(this) {
|
| // |cocoa_view_| owns us and we will be deleted when |cocoa_view_|
|
| @@ -1541,6 +1545,10 @@ void RenderWidgetHostViewMac::UnlockMouse() {
|
| void RenderWidgetHostViewMac::WheelEventAck(
|
| const blink::WebMouseWheelEvent& event,
|
| InputEventAckState ack_result) {
|
| + // TODO(dtapuska): Remove this handling of the wheel event ack
|
| + // once wheel gestures is enabled for a full release; see crbug.com/598798.
|
| + if (wheel_gestures_enabled_)
|
| + return;
|
| bool consumed = ack_result == INPUT_EVENT_ACK_STATE_CONSUMED;
|
| // Only record a wheel event as unhandled if JavaScript handlers got a chance
|
| // to see it (no-op wheel events are ignored by the event dispatcher)
|
| @@ -1548,6 +1556,23 @@ void RenderWidgetHostViewMac::WheelEventAck(
|
| [cocoa_view_ processedWheelEvent:event consumed:consumed];
|
| }
|
|
|
| +void RenderWidgetHostViewMac::GestureEventAck(
|
| + const blink::WebGestureEvent& event,
|
| + InputEventAckState ack_result) {
|
| + if (!wheel_gestures_enabled_)
|
| + return;
|
| + bool consumed = ack_result == INPUT_EVENT_ACK_STATE_CONSUMED;
|
| + switch (event.type) {
|
| + case blink::WebInputEvent::GestureScrollBegin:
|
| + case blink::WebInputEvent::GestureScrollUpdate:
|
| + case blink::WebInputEvent::GestureScrollEnd:
|
| + [cocoa_view_ processedGestureScrollEvent:event consumed:consumed];
|
| + return;
|
| + default:
|
| + break;
|
| + }
|
| +}
|
| +
|
| scoped_ptr<SyntheticGestureTarget>
|
| RenderWidgetHostViewMac::CreateSyntheticGestureTarget() {
|
| RenderWidgetHostImpl* host =
|
| @@ -1855,6 +1880,12 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged(
|
| [responderDelegate_ rendererHandledWheelEvent:event consumed:consumed];
|
| }
|
|
|
| +- (void)processedGestureScrollEvent:(const blink::WebGestureEvent&)event
|
| + consumed:(BOOL)consumed {
|
| + [responderDelegate_ rendererHandledGestureScrollEvent:event
|
| + consumed:consumed];
|
| +}
|
| +
|
| - (BOOL)respondsToSelector:(SEL)selector {
|
| // Trickiness: this doesn't mean "does this object's superclass respond to
|
| // this selector" but rather "does the -respondsToSelector impl from the
|
|
|