| Index: content/browser/renderer_host/input/motion_event_android.cc
|
| diff --git a/content/browser/renderer_host/input/motion_event_android.cc b/content/browser/renderer_host/input/motion_event_android.cc
|
| index 7316a405f49939f3d5c3de88234aac687af5cddd..d545f3ad8feffcd21d785876669c865ec8ada78b 100644
|
| --- a/content/browser/renderer_host/input/motion_event_android.cc
|
| +++ b/content/browser/renderer_host/input/motion_event_android.cc
|
| @@ -146,7 +146,8 @@ MotionEventAndroid::MotionEventAndroid(float pix_to_dip,
|
|
|
| MotionEventAndroid::MotionEventAndroid(float pix_to_dip,
|
| JNIEnv* env,
|
| - jobject event)
|
| + jobject event,
|
| + bool should_recycle)
|
| : cached_time_(FromAndroidTime(Java_MotionEvent_getEventTime(env, event))),
|
| cached_action_(
|
| FromAndroidAction(Java_MotionEvent_getActionMasked(env, event))),
|
| @@ -156,7 +157,7 @@ MotionEventAndroid::MotionEventAndroid(float pix_to_dip,
|
| cached_button_state_(
|
| FromAndroidButtonState(Java_MotionEvent_getButtonState(env, event))),
|
| pix_to_dip_(pix_to_dip),
|
| - should_recycle_(true) {
|
| + should_recycle_(should_recycle) {
|
| event_.Reset(env, event);
|
| DCHECK(event_.obj());
|
|
|
| @@ -325,6 +326,7 @@ scoped_ptr<ui::MotionEvent> MotionEventAndroid::Cancel() const {
|
| // but the cached coordinates are in DIPs.
|
| const gfx::PointF position_pixels =
|
| gfx::ScalePoint(cached_positions_[0], 1.f / pix_to_dip_);
|
| + const bool recycle = true;
|
| return scoped_ptr<MotionEvent>(
|
| new MotionEventAndroid(pix_to_dip_,
|
| AttachCurrentThread(),
|
| @@ -332,7 +334,8 @@ scoped_ptr<ui::MotionEvent> MotionEventAndroid::Cancel() const {
|
| GetEventTime(),
|
| MotionEventAndroid::ACTION_CANCEL,
|
| position_pixels.x(),
|
| - position_pixels.y()).obj()));
|
| + position_pixels.y()).obj(),
|
| + recycle));
|
| }
|
|
|
| float MotionEventAndroid::GetTouchMinor(size_t pointer_index) const {
|
|
|