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

Unified Diff: content/renderer/input/input_handler_proxy.cc

Issue 1052773002: cc: Add a rails argument to InputHandler::ScrollBy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comiple Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_host_unittest_scroll.cc ('k') | content/renderer/input/input_handler_proxy_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/input/input_handler_proxy.cc
diff --git a/content/renderer/input/input_handler_proxy.cc b/content/renderer/input/input_handler_proxy.cc
index f714ef1f3d956678b8ba0b3cd744f85715a142a7..fb798a0f653b96e254a5b2625f5b69fca89807a8 100644
--- a/content/renderer/input/input_handler_proxy.cc
+++ b/content/renderer/input/input_handler_proxy.cc
@@ -168,6 +168,22 @@ void ReportInputEventLatencyUma(const WebInputEvent& event,
}
}
+cc::InputHandler::RailsMode ConvertRailsMode(
+ blink::WebInputEvent::RailsMode rails_mode) {
+ switch (rails_mode) {
+ case blink::WebInputEvent::RailsModeFree:
+ return cc::InputHandler::RAILS_MODE_FREE;
+ case blink::WebInputEvent::RailsModeHorizontal:
+ return cc::InputHandler::RAILS_MODE_HORIZONTAL;
+ case blink::WebInputEvent::RailsModeVertical:
+ return cc::InputHandler::RAILS_MODE_VERTICAL;
+ default:
+ NOTREACHED();
+ break;
+ }
+ return cc::InputHandler::RAILS_MODE_FREE;
+}
+
} // namespace
namespace content {
@@ -331,16 +347,9 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel(
const WebMouseWheelEvent& wheel_event) {
InputHandlerProxy::EventDisposition result = DID_NOT_HANDLE;
cc::InputHandlerScrollResult scroll_result;
-
- // TODO(ccameron): The rail information should be pushed down into
- // InputHandler.
- gfx::Vector2dF scroll_delta(
- wheel_event.railsMode != WebInputEvent::RailsModeVertical
- ? -wheel_event.deltaX
- : 0,
- wheel_event.railsMode != WebInputEvent::RailsModeHorizontal
- ? -wheel_event.deltaY
- : 0);
+ const gfx::Vector2dF scroll_delta(-wheel_event.deltaX, -wheel_event.deltaY);
+ const cc::InputHandler::RailsMode rails_mode =
+ ConvertRailsMode(wheel_event.railsMode);
if (wheel_event.scrollByPage) {
// TODO(jamesr): We don't properly handle scroll by page in the compositor
@@ -374,7 +383,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel(
TRACE_EVENT_SCOPE_THREAD, "deltaX",
scroll_delta.x(), "deltaY", scroll_delta.y());
gfx::Point scroll_point(wheel_event.x, wheel_event.y);
- scroll_result = input_handler_->ScrollBy(scroll_point, scroll_delta);
+ scroll_result =
+ input_handler_->ScrollBy(scroll_point, scroll_delta, rails_mode);
HandleOverscroll(scroll_point, scroll_result);
input_handler_->ScrollEnd();
result = scroll_result.did_scroll ? DID_HANDLE : DROP_EVENT;
@@ -459,7 +469,7 @@ InputHandlerProxy::HandleGestureScrollUpdate(
gfx::Vector2dF scroll_delta(-gesture_event.data.scrollUpdate.deltaX,
-gesture_event.data.scrollUpdate.deltaY);
cc::InputHandlerScrollResult scroll_result = input_handler_->ScrollBy(
- scroll_point, scroll_delta);
+ scroll_point, scroll_delta, cc::InputHandler::RAILS_MODE_FREE);
HandleOverscroll(scroll_point, scroll_result);
return scroll_result.did_scroll ? DID_HANDLE : DROP_EVENT;
}
@@ -935,8 +945,9 @@ bool InputHandlerProxy::scrollBy(const WebFloatSize& increment,
break;
case blink::WebGestureDeviceTouchscreen: {
clipped_increment = ToClientScrollIncrement(clipped_increment);
- cc::InputHandlerScrollResult scroll_result = input_handler_->ScrollBy(
- fling_parameters_.point, clipped_increment);
+ cc::InputHandlerScrollResult scroll_result =
+ input_handler_->ScrollBy(fling_parameters_.point, clipped_increment,
+ cc::InputHandler::RAILS_MODE_FREE);
HandleOverscroll(fling_parameters_.point, scroll_result);
did_scroll = scroll_result.did_scroll;
} break;
« no previous file with comments | « cc/trees/layer_tree_host_unittest_scroll.cc ('k') | content/renderer/input/input_handler_proxy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698