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 86f5a774225371db85fd1cc8dbf5f64a44489c0e..8ab17f24671bba1fba36e03660951c7adf91132e 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -35,6 +35,7 @@ |
#include "content/browser/frame_host/frame_tree_node.h" |
#include "content/browser/frame_host/render_frame_host_impl.h" |
#include "content/browser/gpu/compositor_util.h" |
+#include "content/browser/renderer_host/input/mouse_wheel_rails_filter_mac.h" |
#include "content/browser/renderer_host/render_view_host_impl.h" |
#include "content/browser/renderer_host/render_widget_helper.h" |
#import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_helper.h" |
@@ -1740,6 +1741,7 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
canBeKeyView_ = YES; |
opaque_ = YES; |
focusedPluginIdentifier_ = -1; |
+ mouseWheelFilter_.reset(new content::MouseWheelRailsFilterMac); |
// OpenGL support: |
if ([self respondsToSelector: |
@@ -2255,8 +2257,9 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
// Allow rubber-banding in both directions. |
bool canRubberbandLeft = true; |
bool canRubberbandRight = true; |
- const WebMouseWheelEvent webEvent = WebInputEventFactory::mouseWheelEvent( |
+ WebMouseWheelEvent webEvent = WebInputEventFactory::mouseWheelEvent( |
event, self, canRubberbandLeft, canRubberbandRight); |
+ webEvent.railsMode = mouseWheelFilter_->UpdateRailsMode(webEvent); |
renderWidgetHostView_->render_widget_host_->ForwardWheelEvent(webEvent); |
} |
@@ -2378,8 +2381,9 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
if (renderWidgetHostView_->render_widget_host_) { |
BOOL canRubberbandLeft = [responderDelegate_ canRubberbandLeft:self]; |
BOOL canRubberbandRight = [responderDelegate_ canRubberbandRight:self]; |
- const WebMouseWheelEvent webEvent = WebInputEventFactory::mouseWheelEvent( |
+ WebMouseWheelEvent webEvent = WebInputEventFactory::mouseWheelEvent( |
event, self, canRubberbandLeft, canRubberbandRight); |
+ webEvent.railsMode = mouseWheelFilter_->UpdateRailsMode(webEvent); |
renderWidgetHostView_->render_widget_host_->ForwardWheelEvent(webEvent); |
} |
} |