diff options
| author | Kenny Root <kroot@google.com> | 2010-10-14 22:59:38 -0700 |
|---|---|---|
| committer | Kenny Root <kroot@google.com> | 2010-10-14 22:59:38 -0700 |
| commit | 2cc9eb95f73534e3c08c3991cd21bef5e302c88b (patch) | |
| tree | 8ed674bfe3663570df8937be4bd855440d57650b /WebKit/android/nav/WebView.cpp | |
| parent | 09fce604f7e67802272bf991cb667509521c36b3 (diff) | |
| parent | 1457b739162fe6099cf38130b4065d4c25a5370c (diff) | |
| download | external_webkit-2cc9eb95f73534e3c08c3991cd21bef5e302c88b.zip external_webkit-2cc9eb95f73534e3c08c3991cd21bef5e302c88b.tar.gz external_webkit-2cc9eb95f73534e3c08c3991cd21bef5e302c88b.tar.bz2 | |
resolved conflicts for merge of 1457b739 to master
Change-Id: I5e5460ec4afde9a229c3f73255f4d40322eb7166
Diffstat (limited to 'WebKit/android/nav/WebView.cpp')
| -rw-r--r-- | WebKit/android/nav/WebView.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/WebKit/android/nav/WebView.cpp b/WebKit/android/nav/WebView.cpp index 4093fa5..de9e3ea 100644 --- a/WebKit/android/nav/WebView.cpp +++ b/WebKit/android/nav/WebView.cpp @@ -1656,17 +1656,32 @@ static jobject nativeFocusCandidateName(JNIEnv *env, jobject obj) return env->NewString((jchar*)name.characters(), name.length()); } +static jobject createJavaRect(JNIEnv* env, int x, int y, int right, int bottom) +{ + jclass rectClass = env->FindClass("android/graphics/Rect"); + jmethodID init = env->GetMethodID(rectClass, "<init>", "(IIII)V"); + jobject rect = env->NewObject(rectClass, init, x, y, right, bottom); + return rect; +} + static jobject nativeFocusCandidateNodeBounds(JNIEnv *env, jobject obj) { const CachedFrame* frame; const CachedNode* node = getFocusCandidate(env, obj, &frame); WebCore::IntRect bounds = node ? node->bounds(frame) : WebCore::IntRect(0, 0, 0, 0); - jclass rectClass = env->FindClass("android/graphics/Rect"); - jmethodID init = env->GetMethodID(rectClass, "<init>", "(IIII)V"); - jobject rect = env->NewObject(rectClass, init, bounds.x(), - bounds.y(), bounds.right(), bounds.bottom()); - return rect; + return createJavaRect(env, bounds.x(), bounds.y(), bounds.right(), bounds.bottom()); +} + +static jobject nativeFocusCandidatePaddingRect(JNIEnv *env, jobject obj) +{ + const CachedInput* input = getInputCandidate(env, obj); + if (!input) + return 0; + // Note that the Java Rect is being used to pass four integers, rather than + // being used as an actual rectangle. + return createJavaRect(env, input->paddingLeft(), input->paddingTop(), + input->paddingRight(), input->paddingBottom()); } static jint nativeFocusCandidatePointer(JNIEnv *env, jobject obj) @@ -2261,6 +2276,8 @@ static JNINativeMethod gJavaWebViewMethods[] = { (void*) nativeFocusCandidateName }, { "nativeFocusCandidateNodeBounds", "()Landroid/graphics/Rect;", (void*) nativeFocusCandidateNodeBounds }, + { "nativeFocusCandidatePaddingRect", "()Landroid/graphics/Rect;", + (void*) nativeFocusCandidatePaddingRect }, { "nativeFocusCandidatePointer", "()I", (void*) nativeFocusCandidatePointer }, { "nativeFocusCandidateText", "()Ljava/lang/String;", |
