diff options
author | George Mount <mount@google.com> | 2012-03-01 08:38:30 -0800 |
---|---|---|
committer | George Mount <mount@google.com> | 2012-03-09 15:06:39 -0800 |
commit | 730ac8198c5c9a59a2b11e54657155f3ea33d83f (patch) | |
tree | c529fe2e227312b5b51fb5f745e57d36e8d962f3 /Source/WebKit/android/nav | |
parent | ddacf299acbe17093f175cec8d86088ea3472793 (diff) | |
download | external_webkit-730ac8198c5c9a59a2b11e54657155f3ea33d83f.zip external_webkit-730ac8198c5c9a59a2b11e54657155f3ea33d83f.tar.gz external_webkit-730ac8198c5c9a59a2b11e54657155f3ea33d83f.tar.bz2 |
Add back auto-completion and auto-fill.
Bug 5993316
Framework Change: If00d42c0cb4f2c207f0d502e297741e1d6a68bf4
Change-Id: I9d09a924a579d2d4551bff0489670de71d04757e
Diffstat (limited to 'Source/WebKit/android/nav')
-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 8b7acc5..c7f132f 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -617,7 +617,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() @@ -627,8 +632,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; @@ -1184,6 +1187,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 */ @@ -1262,6 +1275,8 @@ static JNINativeMethod gJavaWebViewMethods[] = { (void*) nativeGetHandleLayerId }, { "nativeIsBaseFirst", "(I)Z", (void*) nativeIsBaseFirst }, + { "nativeMapLayerRect", "(IILandroid/graphics/Rect;)V", + (void*) nativeMapLayerRect }, }; int registerWebView(JNIEnv* env) |