| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/native/aw_settings.h" | 5 #include "android_webview/browser/aw_settings.h" |
| 6 | 6 |
| 7 #include "android_webview/browser/aw_content_browser_client.h" | 7 #include "android_webview/browser/aw_content_browser_client.h" |
| 8 #include "android_webview/browser/aw_contents.h" |
| 8 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" | 9 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" |
| 9 #include "android_webview/common/aw_content_client.h" | 10 #include "android_webview/common/aw_content_client.h" |
| 10 #include "android_webview/native/aw_contents.h" | |
| 11 #include "base/android/jni_android.h" | 11 #include "base/android/jni_android.h" |
| 12 #include "base/android/jni_string.h" | 12 #include "base/android/jni_string.h" |
| 13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "base/memory/ptr_util.h" | 14 #include "base/memory/ptr_util.h" |
| 15 #include "base/supports_user_data.h" | 15 #include "base/supports_user_data.h" |
| 16 #include "content/public/browser/navigation_controller.h" | 16 #include "content/public/browser/navigation_controller.h" |
| 17 #include "content/public/browser/navigation_entry.h" | 17 #include "content/public/browser/navigation_entry.h" |
| 18 #include "content/public/browser/render_view_host.h" | 18 #include "content/public/browser/render_view_host.h" |
| 19 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
| 20 #include "content/public/common/renderer_preferences.h" | 20 #include "content/public/common/renderer_preferences.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 namespace android_webview { | 32 namespace android_webview { |
| 33 | 33 |
| 34 namespace { | 34 namespace { |
| 35 | 35 |
| 36 void PopulateFixedRendererPreferences(RendererPreferences* prefs) { | 36 void PopulateFixedRendererPreferences(RendererPreferences* prefs) { |
| 37 prefs->tap_multiple_targets_strategy = | 37 prefs->tap_multiple_targets_strategy = |
| 38 content::TAP_MULTIPLE_TARGETS_STRATEGY_NONE; | 38 content::TAP_MULTIPLE_TARGETS_STRATEGY_NONE; |
| 39 | 39 |
| 40 // TODO(boliu): Deduplicate with chrome/ code. | 40 // TODO(boliu): Deduplicate with chrome/ code. |
| 41 CR_DEFINE_STATIC_LOCAL(const gfx::FontRenderParams, params, | 41 CR_DEFINE_STATIC_LOCAL( |
| 42 const gfx::FontRenderParams, params, |
| 42 (gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), NULL))); | 43 (gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), NULL))); |
| 43 prefs->should_antialias_text = params.antialiasing; | 44 prefs->should_antialias_text = params.antialiasing; |
| 44 prefs->use_subpixel_positioning = params.subpixel_positioning; | 45 prefs->use_subpixel_positioning = params.subpixel_positioning; |
| 45 prefs->hinting = params.hinting; | 46 prefs->hinting = params.hinting; |
| 46 prefs->use_autohinter = params.autohinter; | 47 prefs->use_autohinter = params.autohinter; |
| 47 prefs->use_bitmaps = params.use_bitmaps; | 48 prefs->use_bitmaps = params.use_bitmaps; |
| 48 prefs->subpixel_rendering = params.subpixel_rendering; | 49 prefs->subpixel_rendering = params.subpixel_rendering; |
| 49 } | 50 } |
| 50 | 51 |
| 51 void PopulateFixedWebPreferences(WebPreferences* web_prefs) { | 52 void PopulateFixedWebPreferences(WebPreferences* web_prefs) { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 | 100 |
| 100 void AwSettings::Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 101 void AwSettings::Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 101 delete this; | 102 delete this; |
| 102 } | 103 } |
| 103 | 104 |
| 104 AwSettings* AwSettings::FromWebContents(content::WebContents* web_contents) { | 105 AwSettings* AwSettings::FromWebContents(content::WebContents* web_contents) { |
| 105 return AwSettingsUserData::GetSettings(web_contents); | 106 return AwSettingsUserData::GetSettings(web_contents); |
| 106 } | 107 } |
| 107 | 108 |
| 108 AwRenderViewHostExt* AwSettings::GetAwRenderViewHostExt() { | 109 AwRenderViewHostExt* AwSettings::GetAwRenderViewHostExt() { |
| 109 if (!web_contents()) return NULL; | 110 if (!web_contents()) |
| 111 return NULL; |
| 110 AwContents* contents = AwContents::FromWebContents(web_contents()); | 112 AwContents* contents = AwContents::FromWebContents(web_contents()); |
| 111 if (!contents) return NULL; | 113 if (!contents) |
| 114 return NULL; |
| 112 return contents->render_view_host_ext(); | 115 return contents->render_view_host_ext(); |
| 113 } | 116 } |
| 114 | 117 |
| 115 void AwSettings::ResetScrollAndScaleState(JNIEnv* env, | 118 void AwSettings::ResetScrollAndScaleState(JNIEnv* env, |
| 116 const JavaParamRef<jobject>& obj) { | 119 const JavaParamRef<jobject>& obj) { |
| 117 AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt(); | 120 AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt(); |
| 118 if (!rvhe) return; | 121 if (!rvhe) |
| 122 return; |
| 119 rvhe->ResetScrollAndScaleState(); | 123 rvhe->ResetScrollAndScaleState(); |
| 120 } | 124 } |
| 121 | 125 |
| 122 void AwSettings::UpdateEverything() { | 126 void AwSettings::UpdateEverything() { |
| 123 JNIEnv* env = base::android::AttachCurrentThread(); | 127 JNIEnv* env = base::android::AttachCurrentThread(); |
| 124 CHECK(env); | 128 CHECK(env); |
| 125 ScopedJavaLocalRef<jobject> scoped_obj = aw_settings_.get(env); | 129 ScopedJavaLocalRef<jobject> scoped_obj = aw_settings_.get(env); |
| 126 if (scoped_obj.is_null()) | 130 if (scoped_obj.is_null()) |
| 127 return; | 131 return; |
| 128 // Grab the lock and call UpdateEverythingLocked. | 132 // Grab the lock and call UpdateEverythingLocked. |
| 129 Java_AwSettings_updateEverything(env, scoped_obj); | 133 Java_AwSettings_updateEverything(env, scoped_obj); |
| 130 } | 134 } |
| 131 | 135 |
| 132 void AwSettings::UpdateEverythingLocked(JNIEnv* env, | 136 void AwSettings::UpdateEverythingLocked(JNIEnv* env, |
| 133 const JavaParamRef<jobject>& obj) { | 137 const JavaParamRef<jobject>& obj) { |
| 134 UpdateInitialPageScaleLocked(env, obj); | 138 UpdateInitialPageScaleLocked(env, obj); |
| 135 UpdateWebkitPreferencesLocked(env, obj); | 139 UpdateWebkitPreferencesLocked(env, obj); |
| 136 UpdateUserAgentLocked(env, obj); | 140 UpdateUserAgentLocked(env, obj); |
| 137 ResetScrollAndScaleState(env, obj); | 141 ResetScrollAndScaleState(env, obj); |
| 138 UpdateFormDataPreferencesLocked(env, obj); | 142 UpdateFormDataPreferencesLocked(env, obj); |
| 139 UpdateRendererPreferencesLocked(env, obj); | 143 UpdateRendererPreferencesLocked(env, obj); |
| 140 UpdateOffscreenPreRasterLocked(env, obj); | 144 UpdateOffscreenPreRasterLocked(env, obj); |
| 141 } | 145 } |
| 142 | 146 |
| 143 void AwSettings::UpdateUserAgentLocked(JNIEnv* env, | 147 void AwSettings::UpdateUserAgentLocked(JNIEnv* env, |
| 144 const JavaParamRef<jobject>& obj) { | 148 const JavaParamRef<jobject>& obj) { |
| 145 if (!web_contents()) return; | 149 if (!web_contents()) |
| 150 return; |
| 146 | 151 |
| 147 ScopedJavaLocalRef<jstring> str = | 152 ScopedJavaLocalRef<jstring> str = |
| 148 Java_AwSettings_getUserAgentLocked(env, obj); | 153 Java_AwSettings_getUserAgentLocked(env, obj); |
| 149 bool ua_overidden = str.obj() != NULL; | 154 bool ua_overidden = str.obj() != NULL; |
| 150 | 155 |
| 151 if (ua_overidden) { | 156 if (ua_overidden) { |
| 152 std::string override = base::android::ConvertJavaStringToUTF8(str); | 157 std::string override = base::android::ConvertJavaStringToUTF8(str); |
| 153 web_contents()->SetUserAgentOverride(override); | 158 web_contents()->SetUserAgentOverride(override); |
| 154 } | 159 } |
| 155 | 160 |
| 156 const content::NavigationController& controller = | 161 const content::NavigationController& controller = |
| 157 web_contents()->GetController(); | 162 web_contents()->GetController(); |
| 158 for (int i = 0; i < controller.GetEntryCount(); ++i) | 163 for (int i = 0; i < controller.GetEntryCount(); ++i) |
| 159 controller.GetEntryAtIndex(i)->SetIsOverridingUserAgent(ua_overidden); | 164 controller.GetEntryAtIndex(i)->SetIsOverridingUserAgent(ua_overidden); |
| 160 } | 165 } |
| 161 | 166 |
| 162 void AwSettings::UpdateWebkitPreferencesLocked( | 167 void AwSettings::UpdateWebkitPreferencesLocked( |
| 163 JNIEnv* env, | 168 JNIEnv* env, |
| 164 const JavaParamRef<jobject>& obj) { | 169 const JavaParamRef<jobject>& obj) { |
| 165 if (!web_contents()) return; | 170 if (!web_contents()) |
| 171 return; |
| 166 AwRenderViewHostExt* render_view_host_ext = GetAwRenderViewHostExt(); | 172 AwRenderViewHostExt* render_view_host_ext = GetAwRenderViewHostExt(); |
| 167 if (!render_view_host_ext) return; | 173 if (!render_view_host_ext) |
| 174 return; |
| 168 | 175 |
| 169 content::RenderViewHost* render_view_host = | 176 content::RenderViewHost* render_view_host = |
| 170 web_contents()->GetRenderViewHost(); | 177 web_contents()->GetRenderViewHost(); |
| 171 if (!render_view_host) return; | 178 if (!render_view_host) |
| 179 return; |
| 172 render_view_host->OnWebkitPreferencesChanged(); | 180 render_view_host->OnWebkitPreferencesChanged(); |
| 173 } | 181 } |
| 174 | 182 |
| 175 void AwSettings::UpdateInitialPageScaleLocked( | 183 void AwSettings::UpdateInitialPageScaleLocked( |
| 176 JNIEnv* env, | 184 JNIEnv* env, |
| 177 const JavaParamRef<jobject>& obj) { | 185 const JavaParamRef<jobject>& obj) { |
| 178 AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt(); | 186 AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt(); |
| 179 if (!rvhe) return; | 187 if (!rvhe) |
| 188 return; |
| 180 | 189 |
| 181 float initial_page_scale_percent = | 190 float initial_page_scale_percent = |
| 182 Java_AwSettings_getInitialPageScalePercentLocked(env, obj); | 191 Java_AwSettings_getInitialPageScalePercentLocked(env, obj); |
| 183 if (initial_page_scale_percent == 0) { | 192 if (initial_page_scale_percent == 0) { |
| 184 rvhe->SetInitialPageScale(-1); | 193 rvhe->SetInitialPageScale(-1); |
| 185 } else { | 194 } else { |
| 186 float dip_scale = static_cast<float>( | 195 float dip_scale = |
| 187 Java_AwSettings_getDIPScaleLocked(env, obj)); | 196 static_cast<float>(Java_AwSettings_getDIPScaleLocked(env, obj)); |
| 188 rvhe->SetInitialPageScale(initial_page_scale_percent / dip_scale / 100.0f); | 197 rvhe->SetInitialPageScale(initial_page_scale_percent / dip_scale / 100.0f); |
| 189 } | 198 } |
| 190 } | 199 } |
| 191 | 200 |
| 192 void AwSettings::UpdateFormDataPreferencesLocked( | 201 void AwSettings::UpdateFormDataPreferencesLocked( |
| 193 JNIEnv* env, | 202 JNIEnv* env, |
| 194 const JavaParamRef<jobject>& obj) { | 203 const JavaParamRef<jobject>& obj) { |
| 195 if (!web_contents()) return; | 204 if (!web_contents()) |
| 205 return; |
| 196 AwContents* contents = AwContents::FromWebContents(web_contents()); | 206 AwContents* contents = AwContents::FromWebContents(web_contents()); |
| 197 if (!contents) return; | 207 if (!contents) |
| 208 return; |
| 198 | 209 |
| 199 contents->SetSaveFormData(Java_AwSettings_getSaveFormDataLocked(env, obj)); | 210 contents->SetSaveFormData(Java_AwSettings_getSaveFormDataLocked(env, obj)); |
| 200 } | 211 } |
| 201 | 212 |
| 202 void AwSettings::UpdateRendererPreferencesLocked( | 213 void AwSettings::UpdateRendererPreferencesLocked( |
| 203 JNIEnv* env, | 214 JNIEnv* env, |
| 204 const JavaParamRef<jobject>& obj) { | 215 const JavaParamRef<jobject>& obj) { |
| 205 if (!web_contents()) return; | 216 if (!web_contents()) |
| 217 return; |
| 206 | 218 |
| 207 bool update_prefs = false; | 219 bool update_prefs = false; |
| 208 RendererPreferences* prefs = web_contents()->GetMutableRendererPrefs(); | 220 RendererPreferences* prefs = web_contents()->GetMutableRendererPrefs(); |
| 209 | 221 |
| 210 if (!renderer_prefs_initialized_) { | 222 if (!renderer_prefs_initialized_) { |
| 211 PopulateFixedRendererPreferences(prefs); | 223 PopulateFixedRendererPreferences(prefs); |
| 212 renderer_prefs_initialized_ = true; | 224 renderer_prefs_initialized_ = true; |
| 213 update_prefs = true; | 225 update_prefs = true; |
| 214 } | 226 } |
| 215 | 227 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 return; | 265 return; |
| 254 // Grab the lock and call PopulateWebPreferencesLocked. | 266 // Grab the lock and call PopulateWebPreferencesLocked. |
| 255 Java_AwSettings_populateWebPreferences(env, scoped_obj, | 267 Java_AwSettings_populateWebPreferences(env, scoped_obj, |
| 256 reinterpret_cast<jlong>(web_prefs)); | 268 reinterpret_cast<jlong>(web_prefs)); |
| 257 } | 269 } |
| 258 | 270 |
| 259 void AwSettings::PopulateWebPreferencesLocked(JNIEnv* env, | 271 void AwSettings::PopulateWebPreferencesLocked(JNIEnv* env, |
| 260 const JavaParamRef<jobject>& obj, | 272 const JavaParamRef<jobject>& obj, |
| 261 jlong web_prefs_ptr) { | 273 jlong web_prefs_ptr) { |
| 262 AwRenderViewHostExt* render_view_host_ext = GetAwRenderViewHostExt(); | 274 AwRenderViewHostExt* render_view_host_ext = GetAwRenderViewHostExt(); |
| 263 if (!render_view_host_ext) return; | 275 if (!render_view_host_ext) |
| 276 return; |
| 264 | 277 |
| 265 WebPreferences* web_prefs = reinterpret_cast<WebPreferences*>(web_prefs_ptr); | 278 WebPreferences* web_prefs = reinterpret_cast<WebPreferences*>(web_prefs_ptr); |
| 266 PopulateFixedWebPreferences(web_prefs); | 279 PopulateFixedWebPreferences(web_prefs); |
| 267 | 280 |
| 268 web_prefs->text_autosizing_enabled = | 281 web_prefs->text_autosizing_enabled = |
| 269 Java_AwSettings_getTextAutosizingEnabledLocked(env, obj); | 282 Java_AwSettings_getTextAutosizingEnabledLocked(env, obj); |
| 270 | 283 |
| 271 int text_size_percent = Java_AwSettings_getTextSizePercentLocked(env, obj); | 284 int text_size_percent = Java_AwSettings_getTextSizePercentLocked(env, obj); |
| 272 if (web_prefs->text_autosizing_enabled) { | 285 if (web_prefs->text_autosizing_enabled) { |
| 273 web_prefs->font_scale_factor = text_size_percent / 100.0f; | 286 web_prefs->font_scale_factor = text_size_percent / 100.0f; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 Java_AwSettings_supportsDoubleTapZoomLocked(env, obj); | 382 Java_AwSettings_supportsDoubleTapZoomLocked(env, obj); |
| 370 | 383 |
| 371 web_prefs->initialize_at_minimum_page_scale = | 384 web_prefs->initialize_at_minimum_page_scale = |
| 372 Java_AwSettings_getLoadWithOverviewModeLocked(env, obj); | 385 Java_AwSettings_getLoadWithOverviewModeLocked(env, obj); |
| 373 | 386 |
| 374 web_prefs->user_gesture_required_for_media_playback = | 387 web_prefs->user_gesture_required_for_media_playback = |
| 375 Java_AwSettings_getMediaPlaybackRequiresUserGestureLocked(env, obj); | 388 Java_AwSettings_getMediaPlaybackRequiresUserGestureLocked(env, obj); |
| 376 | 389 |
| 377 ScopedJavaLocalRef<jstring> url = | 390 ScopedJavaLocalRef<jstring> url = |
| 378 Java_AwSettings_getDefaultVideoPosterURLLocked(env, obj); | 391 Java_AwSettings_getDefaultVideoPosterURLLocked(env, obj); |
| 379 web_prefs->default_video_poster_url = url.obj() ? | 392 web_prefs->default_video_poster_url = |
| 380 GURL(ConvertJavaStringToUTF8(url)) : GURL(); | 393 url.obj() ? GURL(ConvertJavaStringToUTF8(url)) : GURL(); |
| 381 | 394 |
| 382 bool support_quirks = Java_AwSettings_getSupportLegacyQuirksLocked(env, obj); | 395 bool support_quirks = Java_AwSettings_getSupportLegacyQuirksLocked(env, obj); |
| 383 // Please see the corresponding Blink settings for bug references. | 396 // Please see the corresponding Blink settings for bug references. |
| 384 web_prefs->support_deprecated_target_density_dpi = support_quirks; | 397 web_prefs->support_deprecated_target_density_dpi = support_quirks; |
| 385 web_prefs->use_legacy_background_size_shorthand_behavior = support_quirks; | 398 web_prefs->use_legacy_background_size_shorthand_behavior = support_quirks; |
| 386 web_prefs->viewport_meta_layout_size_quirk = support_quirks; | 399 web_prefs->viewport_meta_layout_size_quirk = support_quirks; |
| 387 web_prefs->viewport_meta_merge_content_quirk = support_quirks; | 400 web_prefs->viewport_meta_merge_content_quirk = support_quirks; |
| 388 web_prefs->viewport_meta_non_user_scalable_quirk = support_quirks; | 401 web_prefs->viewport_meta_non_user_scalable_quirk = support_quirks; |
| 389 web_prefs->viewport_meta_zero_values_quirk = support_quirks; | 402 web_prefs->viewport_meta_zero_values_quirk = support_quirks; |
| 390 web_prefs->clobber_user_agent_initial_scale_quirk = support_quirks; | 403 web_prefs->clobber_user_agent_initial_scale_quirk = support_quirks; |
| 391 web_prefs->ignore_main_frame_overflow_hidden_quirk = support_quirks; | 404 web_prefs->ignore_main_frame_overflow_hidden_quirk = support_quirks; |
| 392 web_prefs->report_screen_size_in_physical_pixels_quirk = support_quirks; | 405 web_prefs->report_screen_size_in_physical_pixels_quirk = support_quirks; |
| 393 | 406 |
| 394 web_prefs->resue_global_for_unowned_main_frame = | 407 web_prefs->resue_global_for_unowned_main_frame = |
| 395 Java_AwSettings_getAllowEmptyDocumentPersistenceLocked(env, obj); | 408 Java_AwSettings_getAllowEmptyDocumentPersistenceLocked(env, obj); |
| 396 | 409 |
| 397 web_prefs->password_echo_enabled = | 410 web_prefs->password_echo_enabled = |
| 398 Java_AwSettings_getPasswordEchoEnabledLocked(env, obj); | 411 Java_AwSettings_getPasswordEchoEnabledLocked(env, obj); |
| 399 web_prefs->spatial_navigation_enabled = | 412 web_prefs->spatial_navigation_enabled = |
| 400 Java_AwSettings_getSpatialNavigationLocked(env, obj); | 413 Java_AwSettings_getSpatialNavigationLocked(env, obj); |
| 401 | 414 |
| 402 bool enable_supported_hardware_accelerated_features = | 415 bool enable_supported_hardware_accelerated_features = |
| 403 Java_AwSettings_getEnableSupportedHardwareAcceleratedFeaturesLocked( | 416 Java_AwSettings_getEnableSupportedHardwareAcceleratedFeaturesLocked(env, |
| 404 env, obj); | 417 obj); |
| 405 | 418 |
| 406 bool accelerated_2d_canvas_enabled_by_switch = | 419 bool accelerated_2d_canvas_enabled_by_switch = |
| 407 web_prefs->accelerated_2d_canvas_enabled; | 420 web_prefs->accelerated_2d_canvas_enabled; |
| 408 web_prefs->accelerated_2d_canvas_enabled = true; | 421 web_prefs->accelerated_2d_canvas_enabled = true; |
| 409 if (!accelerated_2d_canvas_enabled_by_switch || | 422 if (!accelerated_2d_canvas_enabled_by_switch || |
| 410 !enable_supported_hardware_accelerated_features) { | 423 !enable_supported_hardware_accelerated_features) { |
| 411 // Any canvas smaller than this will fallback to software. Abusing this | 424 // Any canvas smaller than this will fallback to software. Abusing this |
| 412 // slightly to turn canvas off without changing | 425 // slightly to turn canvas off without changing |
| 413 // accelerated_2d_canvas_enabled, which also affects compositing mode. | 426 // accelerated_2d_canvas_enabled, which also affects compositing mode. |
| 414 // Using 100M instead of max int to avoid overflows. | 427 // Using 100M instead of max int to avoid overflows. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 442 | 455 |
| 443 // Keep spellcheck disabled on html elements unless the spellcheck="true" | 456 // Keep spellcheck disabled on html elements unless the spellcheck="true" |
| 444 // attribute is explicitly specified. This "opt-in" behavior is for backward | 457 // attribute is explicitly specified. This "opt-in" behavior is for backward |
| 445 // consistency in apps that use WebView (see crbug.com/652314). | 458 // consistency in apps that use WebView (see crbug.com/652314). |
| 446 web_prefs->spellcheck_enabled_by_default = false; | 459 web_prefs->spellcheck_enabled_by_default = false; |
| 447 } | 460 } |
| 448 | 461 |
| 449 static jlong Init(JNIEnv* env, | 462 static jlong Init(JNIEnv* env, |
| 450 const JavaParamRef<jobject>& obj, | 463 const JavaParamRef<jobject>& obj, |
| 451 const JavaParamRef<jobject>& web_contents) { | 464 const JavaParamRef<jobject>& web_contents) { |
| 452 content::WebContents* contents = content::WebContents::FromJavaWebContents( | 465 content::WebContents* contents = |
| 453 web_contents); | 466 content::WebContents::FromJavaWebContents(web_contents); |
| 454 AwSettings* settings = new AwSettings(env, obj, contents); | 467 AwSettings* settings = new AwSettings(env, obj, contents); |
| 455 return reinterpret_cast<intptr_t>(settings); | 468 return reinterpret_cast<intptr_t>(settings); |
| 456 } | 469 } |
| 457 | 470 |
| 458 static ScopedJavaLocalRef<jstring> GetDefaultUserAgent( | 471 static ScopedJavaLocalRef<jstring> GetDefaultUserAgent( |
| 459 JNIEnv* env, | 472 JNIEnv* env, |
| 460 const JavaParamRef<jclass>& clazz) { | 473 const JavaParamRef<jclass>& clazz) { |
| 461 return base::android::ConvertUTF8ToJavaString(env, GetUserAgent()); | 474 return base::android::ConvertUTF8ToJavaString(env, GetUserAgent()); |
| 462 } | 475 } |
| 463 | 476 |
| 464 bool RegisterAwSettings(JNIEnv* env) { | 477 bool RegisterAwSettings(JNIEnv* env) { |
| 465 return RegisterNativesImpl(env); | 478 return RegisterNativesImpl(env); |
| 466 } | 479 } |
| 467 | 480 |
| 468 } // namespace android_webview | 481 } // namespace android_webview |
| OLD | NEW |