diff options
| author | George Mount <mount@google.com> | 2012-03-12 07:10:39 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-12 07:10:39 -0700 |
| commit | 668a73488d6938004d25b6c155573e97b6600182 (patch) | |
| tree | 4c157fb050a3a5470b2ec786ce37d4be104f0ed0 /Source/WebKit/android/nav/WebView.cpp | |
| parent | b3f4d3af0b06dc168453641e249d0cb9eec9b570 (diff) | |
| parent | 730ac8198c5c9a59a2b11e54657155f3ea33d83f (diff) | |
| download | external_webkit-668a73488d6938004d25b6c155573e97b6600182.zip external_webkit-668a73488d6938004d25b6c155573e97b6600182.tar.gz external_webkit-668a73488d6938004d25b6c155573e97b6600182.tar.bz2 | |
Merge "Add back auto-completion and auto-fill."
Diffstat (limited to 'Source/WebKit/android/nav/WebView.cpp')
| -rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 03dd866..eddf0ab 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -616,7 +616,12 @@ int getHandleLayerId(SelectText::HandleId handleId, SkIRect& cursorRect) { if (!selectText || !m_baseLayer) return -1; int layerId = selectText->caretLayerId(handleId); - IntRect rect = selectText->caretRect(handleId); + cursorRect = selectText->caretRect(handleId); + mapLayerRect(layerId, cursorRect); + return layerId; +} + +void mapLayerRect(int layerId, SkIRect& rect) { if (layerId != -1) { // We need to make sure the drawTransform is up to date as this is // called before a draw() or drawGL() @@ -626,8 +631,6 @@ int getHandleLayerId(SelectText::HandleId handleId, SkIRect& cursorRect) { if (layer && layer->drawTransform()) rect = layer->drawTransform()->mapRect(rect); } - cursorRect.set(rect.x(), rect.y(), rect.maxX(), rect.maxY()); - return layerId; } bool m_isDrawingPaused; @@ -1163,6 +1166,16 @@ static jboolean nativeIsBaseFirst(JNIEnv *env, jobject obj, jint nativeView) return select ? select->isBaseFirst() : false; } +static void nativeMapLayerRect(JNIEnv *env, jobject obj, jint nativeView, + jint layerId, jobject rect) +{ + WebView* webview = reinterpret_cast<WebView*>(nativeView); + SkIRect nativeRect; + GraphicsJNI::jrect_to_irect(env, rect, &nativeRect); + webview->mapLayerRect(layerId, nativeRect); + GraphicsJNI::irect_to_jrect(nativeRect, env, rect); +} + /* * JNI registration */ @@ -1239,6 +1252,8 @@ static JNINativeMethod gJavaWebViewMethods[] = { (void*) nativeGetHandleLayerId }, { "nativeIsBaseFirst", "(I)Z", (void*) nativeIsBaseFirst }, + { "nativeMapLayerRect", "(IILandroid/graphics/Rect;)V", + (void*) nativeMapLayerRect }, }; int registerWebView(JNIEnv* env) |
