From f46c338125c15d03d5409b6a6c3c924b2f2a2b42 Mon Sep 17 00:00:00 2001 From: "benm@chromium.org" Date: Mon, 29 Apr 2013 18:02:23 +0000 Subject: [Android WebView] Fix calling ConvertJavastringToUTF8 with null string. Fix a log warning when calling ConvertJavaStringToUTF8 with a null string. This is triggered by thew new AwSettings syncing code when it reads a null user agent from the java side. Review URL: https://chromiumcodereview.appspot.com/14543004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197082 0039d316-1c4b-4281-b951-d872f2087c98 --- android_webview/native/aw_settings.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'android_webview') diff --git a/android_webview/native/aw_settings.cc b/android_webview/native/aw_settings.cc index 9ef64f7..a775e1e 100644 --- a/android_webview/native/aw_settings.cc +++ b/android_webview/native/aw_settings.cc @@ -189,13 +189,17 @@ void AwSettings::UpdateUserAgent(JNIEnv* env, jobject obj) { ScopedJavaLocalRef str(env, static_cast( env->GetObjectField(obj, field_ids_->user_agent))); - std::string override = base::android::ConvertJavaStringToUTF8(str); - web_contents()->SetUserAgentOverride(override); + bool ua_overidden = str.obj() != NULL; + + if (ua_overidden) { + std::string override = base::android::ConvertJavaStringToUTF8(str); + web_contents()->SetUserAgentOverride(override); + } const content::NavigationController& controller = web_contents()->GetController(); for (int i = 0; i < controller.GetEntryCount(); ++i) - controller.GetEntryAtIndex(i)->SetIsOverridingUserAgent(true); + controller.GetEntryAtIndex(i)->SetIsOverridingUserAgent(ua_overidden); } void AwSettings::UpdateWebkitPreferences(JNIEnv* env, jobject obj) { -- cgit v1.1