summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/jni/AndroidHitTestResult.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-01-18 09:33:47 -0800
committerJohn Reck <jreck@google.com>2012-01-18 10:24:52 -0800
commit2cba8ed338fae4c3d5a4ed4c141ce9080ff2e089 (patch)
treea4b342b4f9b6fcd022e3584c0774b86a0e66ad78 /Source/WebKit/android/jni/AndroidHitTestResult.cpp
parent8df0eba6a3a17a722e4501827666ab5d7ae00f92 (diff)
downloadexternal_webkit-2cba8ed338fae4c3d5a4ed4c141ce9080ff2e089.zip
external_webkit-2cba8ed338fae4c3d5a4ed4c141ce9080ff2e089.tar.gz
external_webkit-2cba8ed338fae4c3d5a4ed4c141ce9080ff2e089.tar.bz2
Add tapHighlightColor support
Change-Id: Ic49abd60a206e97c9a397e3f89c4acbdc3b982ff
Diffstat (limited to 'Source/WebKit/android/jni/AndroidHitTestResult.cpp')
-rw-r--r--Source/WebKit/android/jni/AndroidHitTestResult.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/WebKit/android/jni/AndroidHitTestResult.cpp b/Source/WebKit/android/jni/AndroidHitTestResult.cpp
index fed8a67..64408da 100644
--- a/Source/WebKit/android/jni/AndroidHitTestResult.cpp
+++ b/Source/WebKit/android/jni/AndroidHitTestResult.cpp
@@ -32,8 +32,10 @@
#include "HitTestResult.h"
#include "KURL.h"
#include "PlatformString.h"
+#include "RenderObject.h"
#include "WebCoreJni.h"
+#include <cutils/log.h>
#include <JNIHelp.h>
#include <JNIUtility.h>
@@ -53,6 +55,7 @@ static struct JavaGlue {
jfieldID m_hitTestTitle;
jfieldID m_hitTestEditable;
jfieldID m_hitTestTouchRects;
+ jfieldID m_hitTestTapHighlightColor;
} gJavaGlue;
struct field {
@@ -86,6 +89,7 @@ static void InitJni(JNIEnv* env)
{ hitTestClass, "mImageUrl", "Ljava/lang/String;", &gJavaGlue.m_hitTestImageUrl },
{ hitTestClass, "mAltDisplayString", "Ljava/lang/String;", &gJavaGlue.m_hitTestAltDisplayString },
{ hitTestClass, "mTitle", "Ljava/lang/String;", &gJavaGlue.m_hitTestTitle },
+ { hitTestClass, "mTapHighlightColor", "I", &gJavaGlue.m_hitTestTapHighlightColor },
{0, 0, 0, 0},
};
@@ -115,6 +119,7 @@ void setStringField(JNIEnv* env, jobject obj, jfieldID field, const String& str)
#define _SET(jtype, jfield, value) env->Set ## jtype ## Field(hitTest, gJavaGlue.m_hitTest ## jfield, value)
#define SET_BOOL(jfield, value) _SET(Boolean, jfield, value)
#define SET_STRING(jfield, value) setStringField(env, hitTest, gJavaGlue.m_hitTest ## jfield, value)
+#define SET_INT(jfield, value) _SET(Int, jfield, value)
jobject AndroidHitTestResult::createJavaObject(JNIEnv* env)
{
@@ -145,8 +150,14 @@ jobject AndroidHitTestResult::createJavaObject(JNIEnv* env)
SET_STRING(ImageUrl, m_hitTestResult.absoluteImageURL().string());
SET_STRING(AltDisplayString, m_hitTestResult.altDisplayString());
SET_STRING(Title, m_hitTestResult.title(titleTextDirection));
- if (m_hitTestResult.URLElement())
- SET_STRING(AnchorText, m_hitTestResult.URLElement()->innerText());
+ if (m_hitTestResult.URLElement()) {
+ Element* urlElement = m_hitTestResult.URLElement();
+ SET_STRING(AnchorText, urlElement->innerText());
+ if (urlElement->renderer()) {
+ SET_INT(TapHighlightColor,
+ urlElement->renderer()->style()->tapHighlightColor().rgb());
+ }
+ }
return hitTest;
}