summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/nav
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2012-03-01 08:38:30 -0800
committerGeorge Mount <mount@google.com>2012-03-09 15:06:39 -0800
commit730ac8198c5c9a59a2b11e54657155f3ea33d83f (patch)
treec529fe2e227312b5b51fb5f745e57d36e8d962f3 /Source/WebKit/android/nav
parentddacf299acbe17093f175cec8d86088ea3472793 (diff)
downloadexternal_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.cpp21
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)