diff options
Diffstat (limited to 'Source/WebKit/android/jni/WebSettings.cpp')
-rw-r--r-- | Source/WebKit/android/jni/WebSettings.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Source/WebKit/android/jni/WebSettings.cpp b/Source/WebKit/android/jni/WebSettings.cpp index 7ee9033..467da3d 100644 --- a/Source/WebKit/android/jni/WebSettings.cpp +++ b/Source/WebKit/android/jni/WebSettings.cpp @@ -80,9 +80,9 @@ struct FieldIds { "Ljava/lang/String;"); mDefaultTextEncoding = env->GetFieldID(clazz, "mDefaultTextEncoding", "Ljava/lang/String;"); - mUserAgent = env->GetFieldID(clazz, "mUserAgent", - "Ljava/lang/String;"); - mAcceptLanguage = env->GetFieldID(clazz, "mAcceptLanguage", "Ljava/lang/String;"); + mGetUserAgentString = env->GetMethodID(clazz, "getUserAgentString", + "()Ljava/lang/String;"); + mGetAcceptLanguage = env->GetMethodID(clazz, "getAcceptLanguage", "()Ljava/lang/String;"); mMinimumFontSize = env->GetFieldID(clazz, "mMinimumFontSize", "I"); mMinimumLogicalFontSize = env->GetFieldID(clazz, "mMinimumLogicalFontSize", "I"); mDefaultFontSize = env->GetFieldID(clazz, "mDefaultFontSize", "I"); @@ -150,6 +150,7 @@ struct FieldIds { env->DeleteLocalRef(autoFillProfileClass); #endif mOverrideCacheMode = env->GetFieldID(clazz, "mOverrideCacheMode", "I"); + mPasswordEchoEnabled = env->GetFieldID(clazz, "mPasswordEchoEnabled", "Z"); ALOG_ASSERT(mLayoutAlgorithm, "Could not find field mLayoutAlgorithm"); ALOG_ASSERT(mTextSize, "Could not find field mTextSize"); @@ -160,8 +161,8 @@ struct FieldIds { ALOG_ASSERT(mCursiveFontFamily, "Could not find field mCursiveFontFamily"); ALOG_ASSERT(mFantasyFontFamily, "Could not find field mFantasyFontFamily"); ALOG_ASSERT(mDefaultTextEncoding, "Could not find field mDefaultTextEncoding"); - ALOG_ASSERT(mUserAgent, "Could not find field mUserAgent"); - ALOG_ASSERT(mAcceptLanguage, "Could not find field mAcceptLanguage"); + ALOG_ASSERT(mGetUserAgentString, "Could not find method getUserAgentString"); + ALOG_ASSERT(mGetAcceptLanguage, "Could not find method getAcceptLanguage"); ALOG_ASSERT(mMinimumFontSize, "Could not find field mMinimumFontSize"); ALOG_ASSERT(mMinimumLogicalFontSize, "Could not find field mMinimumLogicalFontSize"); ALOG_ASSERT(mDefaultFontSize, "Could not find field mDefaultFontSize"); @@ -193,6 +194,7 @@ struct FieldIds { ALOG_ASSERT(mMaximumDecodedImageSize, "Could not find field mMaximumDecodedImageSize"); ALOG_ASSERT(mUseDoubleTree, "Could not find field mUseDoubleTree"); ALOG_ASSERT(mPageCacheCapacity, "Could not find field mPageCacheCapacity"); + ALOG_ASSERT(mPasswordEchoEnabled, "Could not find field mPasswordEchoEnabled"); jclass enumClass = env->FindClass("java/lang/Enum"); ALOG_ASSERT(enumClass, "Could not find Enum class!"); @@ -211,8 +213,8 @@ struct FieldIds { jfieldID mCursiveFontFamily; jfieldID mFantasyFontFamily; jfieldID mDefaultTextEncoding; - jfieldID mUserAgent; - jfieldID mAcceptLanguage; + jmethodID mGetUserAgentString; + jmethodID mGetAcceptLanguage; jfieldID mMinimumFontSize; jfieldID mMinimumLogicalFontSize; jfieldID mDefaultFontSize; @@ -278,6 +280,7 @@ struct FieldIds { jfieldID mAutoFillProfilePhoneNumber; #endif jfieldID mOverrideCacheMode; + jfieldID mPasswordEchoEnabled; }; static struct FieldIds* gFieldIds; @@ -375,14 +378,14 @@ public: str = (jstring)env->GetObjectField(obj, gFieldIds->mDefaultTextEncoding); s->setDefaultTextEncodingName(jstringToWtfString(env, str)); - str = (jstring)env->GetObjectField(obj, gFieldIds->mUserAgent); + str = (jstring)env->CallObjectMethod(obj, gFieldIds->mGetUserAgentString); WebFrame::getWebFrame(pFrame)->setUserAgent(jstringToWtfString(env, str)); WebViewCore::getWebViewCore(pFrame->view())->setWebRequestContextUserAgent(); jint cacheMode = env->GetIntField(obj, gFieldIds->mOverrideCacheMode); WebViewCore::getWebViewCore(pFrame->view())->setWebRequestContextCacheMode(cacheMode); - str = (jstring)env->GetObjectField(obj, gFieldIds->mAcceptLanguage); + str = (jstring)env->CallObjectMethod(obj, gFieldIds->mGetAcceptLanguage); WebRequestContext::setAcceptLanguage(jstringToWtfString(env, str)); jint size = env->GetIntField(obj, gFieldIds->mMinimumFontSize); @@ -610,8 +613,9 @@ public: // has no style attached to it. http://trac.webkit.org/changeset/79799 s->setDeveloperExtrasEnabled(true); s->setSpatialNavigationEnabled(true); - - s->setPasswordEchoEnabled(true); + bool echoPassword = env->GetBooleanField(obj, + gFieldIds->mPasswordEchoEnabled); + s->setPasswordEchoEnabled(echoPassword); } }; |