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

Unified Diff: content/browser/renderer_host/input/motion_event_android.cc

Issue 335943002: [Android] Composited selection handle rendering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@input_native_handles_final
Patch Set: Clean up paste popup interaction Created 6 years, 5 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
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)
cjhopman 2014/07/09 22:29:12 So this constructor makes like ~16 jni calls (and
jdduke (slow) 2014/07/10 02:08:39 Agreed, I'll take a closer look at this. I think
: 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 {

Powered by Google App Engine
This is Rietveld 408576698