Cherry-pick "[android_webview] Hardcode the default text encoding to UTF-8."
The WebView will use a fixed default value for the text encoding instead
of getting it from the platform. This is in attempt to unify behavior
between devices.
BUG=422366
Review URL: https://codereview.chromium.org/639113004
Cr-Commit-Position: refs/heads/master@{#299287}
Conflicts:
DEPS
android_webview/buildbot/aosp_manifest.xml
android_webview/renderer/aw_content_renderer_client.h
chrome/renderer/chrome_content_renderer_client.h
Change-Id: I0b4f507e6e439561bf89e3a0e668910cbf0c9e08
diff --git a/DEPS b/DEPS
index 2a97a42..93a8de7 100644
--- a/DEPS
+++ b/DEPS
@@ -467,7 +467,7 @@
# Whenever you roll this please also change frameworks/webview in
# src/android_webview/buildbot/aosp_manifest.xml to point to the same revision.
'src/third_party/android_webview_glue/src':
- Var('chromium_git') + '/external/android_webview_glue.git' + '@' + 'a1b0248c80f239e2f6476b9f395b27d0ba1eb3cd',
+ Var('chromium_git') + '/external/android_webview_glue.git' + '@' + '7d62eab4ca242beacac4471c002e998ef5c218b8',
'src/third_party/android_tools':
Var('chromium_git') + '/android_tools.git' + '@' + 'd2b86205ff973a3844020feacb35ca6b1d82efbe',
diff --git a/android_webview/buildbot/aosp_manifest.xml b/android_webview/buildbot/aosp_manifest.xml
index e4fabd7..3b6755b 100644
--- a/android_webview/buildbot/aosp_manifest.xml
+++ b/android_webview/buildbot/aosp_manifest.xml
@@ -8,7 +8,7 @@
<!-- Whenever you roll this please also change frameworks/webview in DEPS to point to the
same revision. -->
- <project name="platform/frameworks/webview" path="frameworks/webview" revision="a1b0248c80f239e2f6476b9f395b27d0ba1eb3cd"/>
+ <project name="platform/frameworks/webview" path="frameworks/webview" revision="7d62eab4ca242beacac4471c002e998ef5c218b8"/>
<project groups="device,flo" name="device/asus/deb" revision="0ce3a783d549d023ddc553a04fed717ffb2ff533"/>
<project groups="device,flo" name="device/asus/flo" revision="55ea79b11f9f82b2aa03f44a3429112fc5c06d07"/>
diff --git a/android_webview/common/aw_resource.h b/android_webview/common/aw_resource.h
index 1ed5e3a..00613c3 100644
--- a/android_webview/common/aw_resource.h
+++ b/android_webview/common/aw_resource.h
@@ -14,7 +14,6 @@
std::string GetLoadErrorPageContent();
std::string GetNoDomainPageContent();
-std::string GetDefaultTextEncoding();
} // namespace AwResource
} // namsespace android_webview
diff --git a/android_webview/java/src/org/chromium/android_webview/AwResource.java b/android_webview/java/src/org/chromium/android_webview/AwResource.java
index b5c1a54..e74206d 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwResource.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwResource.java
@@ -32,9 +32,6 @@
// a generic load error. (It's called NO_DOMAIN for legacy reasons).
private static int sRawNoDomain;
- // String resource ID for the default text encoding to use.
- private static int sStringDefaultTextEncoding;
-
// Array resource ID for the configuration of platform specific key-systems.
private static int sStringArrayConfigKeySystemUUIDMapping;
@@ -58,20 +55,11 @@
sRawNoDomain = nodomain;
}
- public static void setDefaultTextEncoding(int encoding) {
- sStringDefaultTextEncoding = encoding;
- }
-
public static void setConfigKeySystemUuidMapping(int config) {
sStringArrayConfigKeySystemUUIDMapping = config;
}
@CalledByNative
- public static String getDefaultTextEncoding() {
- return getResource(sStringDefaultTextEncoding, TYPE_STRING);
- }
-
- @CalledByNative
public static String getNoDomainPageContent() {
return getResource(sRawNoDomain, TYPE_RAW);
}
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
index f8aad73..2bd5de7 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -68,7 +68,7 @@
private String mSerifFontFamily = "serif";
private String mCursiveFontFamily = "cursive";
private String mFantasyFontFamily = "fantasy";
- private String mDefaultTextEncoding;
+ private String mDefaultTextEncoding = "UTF-8";
private String mUserAgent;
private int mMinimumFontSize = 8;
private int mMinimumLogicalFontSize = 8;
@@ -227,7 +227,6 @@
mAllowFileAccessFromFileURLs = true;
}
- mDefaultTextEncoding = AwResource.getDefaultTextEncoding();
mUserAgent = LazyDefaultUserAgent.sInstance;
// Best-guess a sensible initial value based on the features supported on the device.
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
index 9ecf971..87d23c2 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
@@ -434,12 +434,12 @@
@Override
protected String getAlteredValue() {
- return "utf-8";
+ return "Latin-1";
}
@Override
protected String getInitialValue() {
- return "Latin-1";
+ return "UTF-8";
}
@Override
diff --git a/android_webview/native/aw_resource.cc b/android_webview/native/aw_resource.cc
index cf4b6f4..498a201 100644
--- a/android_webview/native/aw_resource.cc
+++ b/android_webview/native/aw_resource.cc
@@ -30,13 +30,6 @@
return base::android::ConvertJavaStringToUTF8(content);
}
-std::string GetDefaultTextEncoding() {
- JNIEnv* env = base::android::AttachCurrentThread();
- ScopedJavaLocalRef<jstring> encoding =
- Java_AwResource_getDefaultTextEncoding(env);
- return base::android::ConvertJavaStringToUTF8(encoding);
-}
-
bool RegisterAwResource(JNIEnv* env) {
return RegisterNativesImpl(env);
}
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc
index caa372d..7ba28d9 100644
--- a/android_webview/renderer/aw_content_renderer_client.cc
+++ b/android_webview/renderer/aw_content_renderer_client.cc
@@ -147,10 +147,6 @@
new autofill::AutofillAgent(render_view, password_autofill_agent, NULL);
}
-std::string AwContentRendererClient::GetDefaultEncoding() {
- return AwResource::GetDefaultTextEncoding();
-}
-
bool AwContentRendererClient::HasErrorPage(int http_status_code,
std::string* error_domain) {
return http_status_code >= 400;
diff --git a/android_webview/renderer/aw_content_renderer_client.h b/android_webview/renderer/aw_content_renderer_client.h
index 23b3c7a..49480ca 100644
--- a/android_webview/renderer/aw_content_renderer_client.h
+++ b/android_webview/renderer/aw_content_renderer_client.h
@@ -25,7 +25,6 @@
virtual void RenderThreadStarted() OVERRIDE;
virtual void RenderFrameCreated(content::RenderFrame* render_frame) OVERRIDE;
virtual void RenderViewCreated(content::RenderView* render_view) OVERRIDE;
- virtual std::string GetDefaultEncoding() OVERRIDE;
virtual bool HasErrorPage(int http_status_code,
std::string* error_domain) OVERRIDE;
virtual void GetNavigationErrorStrings(
diff --git a/android_webview/test/shell/res/values/strings.xml b/android_webview/test/shell/res/values/strings.xml
deleted file mode 100644
index a62403f..0000000
--- a/android_webview/test/shell/res/values/strings.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-Copyright (c) 2012 The Chromium Authors. All rights reserved.
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
--->
-
-<resources>
- <string name="default_encoding">Latin-1</string>
-</resources>
diff --git a/android_webview/test/shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java b/android_webview/test/shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java
index d086fe1..beb2d0f 100644
--- a/android_webview/test/shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java
+++ b/android_webview/test/shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java
@@ -23,8 +23,6 @@
AwResource.setErrorPageResources(R.raw.error, R.raw.blank_html);
- AwResource.setDefaultTextEncoding(R.string.default_encoding);
-
AwResource.setConfigKeySystemUuidMapping(R.array.config_key_system_uuid_mapping);
sInitialized = true;
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 1c00616..c5c6ee4 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -537,10 +537,6 @@
GetImageNamed(IDR_SAD_WEBVIEW).ToSkBitmap());
}
-std::string ChromeContentRendererClient::GetDefaultEncoding() {
- return l10n_util::GetStringUTF8(IDS_DEFAULT_ENCODING);
-}
-
#if defined(ENABLE_EXTENSIONS)
const Extension* ChromeContentRendererClient::GetExtensionByOrigin(
const WebSecurityOrigin& origin) const {
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
index f8cfbb0..550fa15 100644
--- a/chrome/renderer/chrome_content_renderer_client.h
+++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -81,7 +81,6 @@
virtual void SetNumberOfViews(int number_of_views) OVERRIDE;
virtual SkBitmap* GetSadPluginBitmap() OVERRIDE;
virtual SkBitmap* GetSadWebViewBitmap() OVERRIDE;
- virtual std::string GetDefaultEncoding() OVERRIDE;
virtual bool OverrideCreatePlugin(
content::RenderFrame* render_frame,
blink::WebLocalFrame* frame,
diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc
index 2435d2c..a6ae7f0 100644
--- a/content/public/renderer/content_renderer_client.cc
+++ b/content/public/renderer/content_renderer_client.cc
@@ -14,10 +14,6 @@
return NULL;
}
-std::string ContentRendererClient::GetDefaultEncoding() {
- return std::string();
-}
-
bool ContentRendererClient::OverrideCreatePlugin(
RenderFrame* render_frame,
blink::WebLocalFrame* frame,
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index 55db98c..20641de 100644
--- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h
@@ -84,9 +84,6 @@
// none.
virtual SkBitmap* GetSadWebViewBitmap();
- // Returns the default text encoding.
- virtual std::string GetDefaultEncoding();
-
// Allows the embedder to override creating a plugin. If it returns true, then
// |plugin| will contain the created plugin, although it could be NULL. If it
// returns false, the content layer will create the plugin.