|  | // Copyright 2013 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "content/test/web_gesture_curve_mock.h" | 
|  |  | 
|  | #include "content/test/weburl_loader_mock_factory.h" | 
|  | #include "third_party/WebKit/public/platform/WebFloatSize.h" | 
|  | #include "third_party/WebKit/public/platform/WebGestureCurveTarget.h" | 
|  |  | 
|  | WebGestureCurveMock::WebGestureCurveMock(const blink::WebFloatPoint& velocity, | 
|  | const blink::WebSize& cumulative_scroll) | 
|  | : velocity_(velocity), | 
|  | cumulative_scroll_(cumulative_scroll) { | 
|  | } | 
|  |  | 
|  | WebGestureCurveMock::~WebGestureCurveMock() { | 
|  | } | 
|  |  | 
|  | bool WebGestureCurveMock::apply(double time, | 
|  | blink::WebGestureCurveTarget* target) { | 
|  | blink::WebSize displacement(velocity_.x * time, velocity_.y * time); | 
|  | blink::WebFloatSize increment(displacement.width - cumulative_scroll_.width, | 
|  | displacement.height - cumulative_scroll_.height); | 
|  | cumulative_scroll_ = displacement; | 
|  | blink::WebFloatSize velocity(velocity_.x, velocity_.y); | 
|  | // scrollBy() could delete this curve if the animation is over, so don't | 
|  | // touch any member variables after making that call. | 
|  | target->scrollBy(increment, velocity); | 
|  | return true; | 
|  | } |