summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/jni/WebSettings.cpp
diff options
context:
space:
mode:
authorAnders Edenbrandt <anders.edenbrandt@sonymobile.com>2012-03-23 17:07:48 +0100
committerJohan Redestig <johan.redestig@sonymobile.com>2012-06-21 15:23:01 +0200
commite1354a91d87c0cc6ffc8bfa9262d02bca6e6cb4f (patch)
tree5b5ac3fecd9f3f20f1badcdf5f397a75feaf34c5 /Source/WebKit/android/jni/WebSettings.cpp
parent31874a9d49b110cd82de0efc5eab2c9cddcddde1 (diff)
downloadexternal_webkit-e1354a91d87c0cc6ffc8bfa9262d02bca6e6cb4f.zip
external_webkit-e1354a91d87c0cc6ffc8bfa9262d02bca6e6cb4f.tar.gz
external_webkit-e1354a91d87c0cc6ffc8bfa9262d02bca6e6cb4f.tar.bz2
Accept-Language header is not updated when phone language changes
The Java class WebSettings has accessor methods for User Agent and Accept-Language strings. These methods ensure that the values are updated if the Locale has changed. However, WebSettings.cpp in WebKit reads the private fields in WebSettings.java directly, and thereby fails to trigger the update. The correction is to use the appropriate accessor methods from WebSettings.cpp. Change-Id: Id1aa1f4de38d2a73cad9660afc35944c663dbd4a
Diffstat (limited to 'Source/WebKit/android/jni/WebSettings.cpp')
-rw-r--r--Source/WebKit/android/jni/WebSettings.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/WebKit/android/jni/WebSettings.cpp b/Source/WebKit/android/jni/WebSettings.cpp
index fdd0cb1..dd847e8 100644
--- a/Source/WebKit/android/jni/WebSettings.cpp
+++ b/Source/WebKit/android/jni/WebSettings.cpp
@@ -82,9 +82,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");
@@ -161,8 +161,8 @@ struct FieldIds {
LOG_ASSERT(mCursiveFontFamily, "Could not find field mCursiveFontFamily");
LOG_ASSERT(mFantasyFontFamily, "Could not find field mFantasyFontFamily");
LOG_ASSERT(mDefaultTextEncoding, "Could not find field mDefaultTextEncoding");
- LOG_ASSERT(mUserAgent, "Could not find field mUserAgent");
- LOG_ASSERT(mAcceptLanguage, "Could not find field mAcceptLanguage");
+ LOG_ASSERT(mGetUserAgentString, "Could not find method getUserAgentString");
+ LOG_ASSERT(mGetAcceptLanguage, "Could not find method getAcceptLanguage");
LOG_ASSERT(mMinimumFontSize, "Could not find field mMinimumFontSize");
LOG_ASSERT(mMinimumLogicalFontSize, "Could not find field mMinimumLogicalFontSize");
LOG_ASSERT(mDefaultFontSize, "Could not find field mDefaultFontSize");
@@ -212,8 +212,8 @@ struct FieldIds {
jfieldID mCursiveFontFamily;
jfieldID mFantasyFontFamily;
jfieldID mDefaultTextEncoding;
- jfieldID mUserAgent;
- jfieldID mAcceptLanguage;
+ jmethodID mGetUserAgentString;
+ jmethodID mGetAcceptLanguage;
jfieldID mMinimumFontSize;
jfieldID mMinimumLogicalFontSize;
jfieldID mDefaultFontSize;
@@ -375,7 +375,7 @@ 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));
#if USE(CHROME_NETWORK_STACK)
WebViewCore::getWebViewCore(pFrame->view())->setWebRequestContextUserAgent();
@@ -383,7 +383,7 @@ public:
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));
#endif