| Index: content/browser/renderer_host/input/immediate_input_router.cc
|
| diff --git a/content/browser/renderer_host/input/immediate_input_router.cc b/content/browser/renderer_host/input/immediate_input_router.cc
|
| index 21ffb3bb75c6b9cf65b36a48e2aaf42fd9a977ad..4334aacc1dbf51037c469a739b377d60bd5ada69 100644
|
| --- a/content/browser/renderer_host/input/immediate_input_router.cc
|
| +++ b/content/browser/renderer_host/input/immediate_input_router.cc
|
| @@ -38,27 +38,6 @@ using WebKit::WebMouseWheelEvent;
|
| namespace content {
|
| namespace {
|
|
|
| -// Returns |true| if the two wheel events should be coalesced.
|
| -bool ShouldCoalesceMouseWheelEvents(const WebMouseWheelEvent& last_event,
|
| - const WebMouseWheelEvent& new_event) {
|
| - return last_event.modifiers == new_event.modifiers &&
|
| - last_event.scrollByPage == new_event.scrollByPage &&
|
| - last_event.hasPreciseScrollingDeltas
|
| - == new_event.hasPreciseScrollingDeltas &&
|
| - last_event.phase == new_event.phase &&
|
| - last_event.momentumPhase == new_event.momentumPhase;
|
| -}
|
| -
|
| -float GetUnacceleratedDelta(float accelerated_delta, float acceleration_ratio) {
|
| - return accelerated_delta * acceleration_ratio;
|
| -}
|
| -
|
| -float GetAccelerationRatio(float accelerated_delta, float unaccelerated_delta) {
|
| - if (unaccelerated_delta == 0.f || accelerated_delta == 0.f)
|
| - return 1.f;
|
| - return unaccelerated_delta / accelerated_delta;
|
| -}
|
| -
|
| GestureEventWithLatencyInfo MakeGestureEvent(WebInputEvent::Type type,
|
| double timestamp_seconds,
|
| int x,
|
| @@ -166,35 +145,10 @@ void ImmediateInputRouter::SendWheelEvent(
|
| // which many, very small wheel events are sent).
|
| if (mouse_wheel_pending_) {
|
| if (coalesced_mouse_wheel_events_.empty() ||
|
| - !ShouldCoalesceMouseWheelEvents(
|
| - coalesced_mouse_wheel_events_.back().event, wheel_event.event)) {
|
| + !coalesced_mouse_wheel_events_.back().CanCoalesceWith(wheel_event)) {
|
| coalesced_mouse_wheel_events_.push_back(wheel_event);
|
| } else {
|
| - MouseWheelEventWithLatencyInfo* last_wheel_event =
|
| - &coalesced_mouse_wheel_events_.back();
|
| - float unaccelerated_x =
|
| - GetUnacceleratedDelta(last_wheel_event->event.deltaX,
|
| - last_wheel_event->event.accelerationRatioX) +
|
| - GetUnacceleratedDelta(wheel_event.event.deltaX,
|
| - wheel_event.event.accelerationRatioX);
|
| - float unaccelerated_y =
|
| - GetUnacceleratedDelta(last_wheel_event->event.deltaY,
|
| - last_wheel_event->event.accelerationRatioY) +
|
| - GetUnacceleratedDelta(wheel_event.event.deltaY,
|
| - wheel_event.event.accelerationRatioY);
|
| - last_wheel_event->event.deltaX += wheel_event.event.deltaX;
|
| - last_wheel_event->event.deltaY += wheel_event.event.deltaY;
|
| - last_wheel_event->event.wheelTicksX += wheel_event.event.wheelTicksX;
|
| - last_wheel_event->event.wheelTicksY += wheel_event.event.wheelTicksY;
|
| - last_wheel_event->event.accelerationRatioX =
|
| - GetAccelerationRatio(last_wheel_event->event.deltaX, unaccelerated_x);
|
| - last_wheel_event->event.accelerationRatioY =
|
| - GetAccelerationRatio(last_wheel_event->event.deltaY, unaccelerated_y);
|
| - DCHECK_GE(wheel_event.event.timeStampSeconds,
|
| - last_wheel_event->event.timeStampSeconds);
|
| - last_wheel_event->event.timeStampSeconds =
|
| - wheel_event.event.timeStampSeconds;
|
| - last_wheel_event->latency.MergeWith(wheel_event.latency);
|
| + coalesced_mouse_wheel_events_.back().CoalesceWith(wheel_event);
|
| }
|
| return;
|
| }
|
| @@ -253,17 +207,10 @@ void ImmediateInputRouter::SendMouseEventImmediately(
|
| // more WM_MOUSEMOVE events than we wish to send to the renderer.
|
| if (mouse_event.event.type == WebInputEvent::MouseMove) {
|
| if (mouse_move_pending_) {
|
| - if (!next_mouse_move_) {
|
| + if (!next_mouse_move_)
|
| next_mouse_move_.reset(new MouseEventWithLatencyInfo(mouse_event));
|
| - } else {
|
| - // Accumulate movement deltas.
|
| - int x = next_mouse_move_->event.movementX;
|
| - int y = next_mouse_move_->event.movementY;
|
| - next_mouse_move_->event = mouse_event.event;
|
| - next_mouse_move_->event.movementX += x;
|
| - next_mouse_move_->event.movementY += y;
|
| - next_mouse_move_->latency.MergeWith(mouse_event.latency);
|
| - }
|
| + else
|
| + next_mouse_move_->CoalesceWith(mouse_event);
|
| return;
|
| }
|
| mouse_move_pending_ = true;
|
|
|