diff options
author | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 16:31:11 +0000 |
---|---|---|
committer | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 16:31:11 +0000 |
commit | 49f2fdec75b576b53602f89346930eba783a2bb4 (patch) | |
tree | 36e1d5ff1068dbab4f7e9bd07bc460d33eb90421 /content | |
parent | 02615ee37469bb43e4febbf18b2cba47ba35644b (diff) | |
download | chromium_src-49f2fdec75b576b53602f89346930eba783a2bb4.zip chromium_src-49f2fdec75b576b53602f89346930eba783a2bb4.tar.gz chromium_src-49f2fdec75b576b53602f89346930eba783a2bb4.tar.bz2 |
Refactor construction of Java rects
Consolidate these conversions from gfx::Rect to Java Rect into a function.
BUG=162468
Review URL: https://chromiumcodereview.appspot.com/12082131
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180422 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/android/content_view_core_impl.cc | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc index eabee03..4fd03ba 100644 --- a/content/browser/android/content_view_core_impl.cc +++ b/content/browser/android/content_view_core_impl.cc @@ -122,6 +122,18 @@ class ContentViewCoreImpl::ContentViewUserData struct ContentViewCoreImpl::JavaObject { ScopedJavaGlobalRef<jclass> rect_clazz; jmethodID rect_constructor; + ScopedJavaLocalRef<jobject> CreateJavaRect( + JNIEnv* env, + const gfx::Rect& rect, + float scale) { + return ScopedJavaLocalRef<jobject>( + env, env->NewObject(rect_clazz.obj(), + rect_constructor, + static_cast<int>(rect.x() * scale), + static_cast<int>(rect.y() * scale), + static_cast<int>(rect.right() * scale), + static_cast<int>(rect.bottom() * scale))); + } }; // static @@ -514,24 +526,14 @@ void ContentViewCoreImpl::OnSelectionBoundsChanged( ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); if (obj.is_null()) return; - ScopedJavaLocalRef<jobject> start_rect_object(env, - env->NewObject(java_object_->rect_clazz.obj(), - java_object_->rect_constructor, - static_cast<int>(start_rect.x() * DpiScale()), - static_cast<int>(start_rect.y() * DpiScale()), - static_cast<int>(start_rect.right() * DpiScale()), - static_cast<int>(start_rect.bottom() * DpiScale()))); - ScopedJavaLocalRef<jobject> end_rect_object(env, - env->NewObject(java_object_->rect_clazz.obj(), - java_object_->rect_constructor, - static_cast<int>(end_rect.x() * DpiScale()), - static_cast<int>(end_rect.y() * DpiScale()), - static_cast<int>(end_rect.right() * DpiScale()), - static_cast<int>(end_rect.bottom() * DpiScale()))); + ScopedJavaLocalRef<jobject> java_start_rect( + java_object_->CreateJavaRect(env, start_rect, DpiScale())); + ScopedJavaLocalRef<jobject> java_end_rect( + java_object_->CreateJavaRect(env, end_rect, DpiScale())); Java_ContentViewCore_onSelectionBoundsChanged(env, obj.obj(), - start_rect_object.obj(), + java_start_rect.obj(), start_dir, - end_rect_object.obj(), + java_end_rect.obj(), end_dir); } |