summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-09 17:50:51 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-09 17:50:51 +0000
commit74e50c0cc9c4f0ba3301ae678c0939e3628b8e7b (patch)
treeba59354b161fb545a980f009f62f0366e4bd27e0 /android_webview
parent91800dec3b3d1c95ef3cc9619b59db1243f74805 (diff)
downloadchromium_src-74e50c0cc9c4f0ba3301ae678c0939e3628b8e7b.zip
chromium_src-74e50c0cc9c4f0ba3301ae678c0939e3628b8e7b.tar.gz
chromium_src-74e50c0cc9c4f0ba3301ae678c0939e3628b8e7b.tar.bz2
Simplify the user agent code some more since after r255534 it's not affected by the site's URL.
Code in content always gets it now from ContentClient::GetUserAgent. In Chrome, there's a GetUserAgent function which returns it. BUG=338338 R=isherman@chromium.org, pauljensen@chromium.org, scottmg@chromium.org, tfarina@chromium.org Review URL: https://codereview.chromium.org/191093002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255858 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/browser/net/aw_url_request_context_getter.cc3
-rw-r--r--android_webview/common/aw_content_client.cc18
-rw-r--r--android_webview/common/aw_content_client.h2
-rw-r--r--android_webview/native/aw_settings.cc6
4 files changed, 21 insertions, 8 deletions
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc
index 2ee7525..38c70a2 100644
--- a/android_webview/browser/net/aw_url_request_context_getter.cc
+++ b/android_webview/browser/net/aw_url_request_context_getter.cc
@@ -11,6 +11,7 @@
#include "android_webview/browser/net/aw_network_delegate.h"
#include "android_webview/browser/net/aw_url_request_job_factory.h"
#include "android_webview/browser/net/init_native_callback.h"
+#include "android_webview/common/aw_content_client.h"
#include "android_webview/common/aw_switches.h"
#include "base/command_line.h"
#include "base/strings/string_number_conversions.h"
@@ -177,7 +178,7 @@ void AwURLRequestContextGetter::InitializeURLRequestContext() {
DCHECK(!url_request_context_);
net::URLRequestContextBuilder builder;
- builder.set_user_agent(content::GetUserAgent(GURL()));
+ builder.set_user_agent(GetUserAgent());
builder.set_network_delegate(new AwNetworkDelegate());
#if !defined(DISABLE_FTP_SUPPORT)
builder.set_ftp_enabled(false); // Android WebView does not support ftp yet.
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
index e91faa9..856e7b7 100644
--- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc
@@ -12,16 +12,20 @@
#include "ui/base/resource/resource_bundle.h"
#include "webkit/common/user_agent/user_agent_util.h"
-namespace android_webview {
+namespace {
-std::string AwContentClient::GetProduct() const {
+std::string GetProduct() {
// "Chrome/XX.0.0.0" identifies that this WebView is derived from the
// corresponding Chromium version XX.
// TODO(torne): Use chrome/VERSION file. See http://crbug.com/297522
return "Chrome/33.0.0.0";
}
-std::string AwContentClient::GetUserAgent() const {
+}
+
+namespace android_webview {
+
+std::string GetUserAgent() {
// "Version/4.0" had been hardcoded in the legacy WebView.
std::string product = "Version/4.0 " + GetProduct();
if (CommandLine::ForCurrentProcess()->HasSwitch(
@@ -31,6 +35,14 @@ std::string AwContentClient::GetUserAgent() const {
return webkit_glue::BuildUserAgentFromProduct(product);
}
+std::string AwContentClient::GetProduct() const {
+ return ::GetProduct();
+}
+
+std::string AwContentClient::GetUserAgent() const {
+ return android_webview::GetUserAgent();
+}
+
base::string16 AwContentClient::GetLocalizedString(int message_id) const {
// TODO(boliu): Used only by WebKit, so only bundle those resources for
// Android WebView.
diff --git a/android_webview/common/aw_content_client.h b/android_webview/common/aw_content_client.h
index b764944..697f4e3 100644
--- a/android_webview/common/aw_content_client.h
+++ b/android_webview/common/aw_content_client.h
@@ -11,6 +11,8 @@
namespace android_webview {
+std::string GetUserAgent();
+
class AwContentClient : public content::ContentClient {
public:
// ContentClient implementation.
diff --git a/android_webview/native/aw_settings.cc b/android_webview/native/aw_settings.cc
index 92bfbad..e2379ed 100644
--- a/android_webview/native/aw_settings.cc
+++ b/android_webview/native/aw_settings.cc
@@ -5,6 +5,7 @@
#include "android_webview/native/aw_settings.h"
#include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
+#include "android_webview/common/aw_content_client.h"
#include "android_webview/native/aw_contents.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
@@ -14,10 +15,8 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/common/content_client.h"
#include "content/public/common/content_switches.h"
#include "jni/AwSettings_jni.h"
-#include "webkit/common/user_agent/user_agent.h"
#include "webkit/common/webpreferences.h"
using base::android::ConvertJavaStringToUTF16;
@@ -341,8 +340,7 @@ static jlong Init(JNIEnv* env,
}
static jstring GetDefaultUserAgent(JNIEnv* env, jclass clazz) {
- return base::android::ConvertUTF8ToJavaString(
- env, content::GetUserAgent(GURL())).Release();
+ return base::android::ConvertUTF8ToJavaString(env, GetUserAgent()).Release();
}
bool RegisterAwSettings(JNIEnv* env) {