Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 25 #include "base/metrics/histogram_macros.h" | 25 #include "base/metrics/histogram_macros.h" |
| 26 #include "base/process/kill.h" | 26 #include "base/process/kill.h" |
| 27 #include "base/process/process.h" | 27 #include "base/process/process.h" |
| 28 #include "base/single_thread_task_runner.h" | 28 #include "base/single_thread_task_runner.h" |
| 29 #include "base/strings/string_number_conversions.h" | 29 #include "base/strings/string_number_conversions.h" |
| 30 #include "base/strings/string_piece.h" | 30 #include "base/strings/string_piece.h" |
| 31 #include "base/strings/string_split.h" | 31 #include "base/strings/string_split.h" |
| 32 #include "base/strings/string_util.h" | 32 #include "base/strings/string_util.h" |
| 33 #include "base/strings/sys_string_conversions.h" | 33 #include "base/strings/sys_string_conversions.h" |
| 34 #include "base/strings/utf_string_conversions.h" | 34 #include "base/strings/utf_string_conversions.h" |
| 35 #include "base/sys_info.h" | |
| 35 #include "base/threading/thread_task_runner_handle.h" | 36 #include "base/threading/thread_task_runner_handle.h" |
| 36 #include "base/time/time.h" | 37 #include "base/time/time.h" |
| 37 #include "base/trace_event/trace_event.h" | 38 #include "base/trace_event/trace_event.h" |
| 38 #include "build/build_config.h" | 39 #include "build/build_config.h" |
| 39 #include "cc/base/switches.h" | 40 #include "cc/base/switches.h" |
| 40 #include "content/child/appcache/appcache_dispatcher.h" | 41 #include "content/child/appcache/appcache_dispatcher.h" |
| 41 #include "content/child/appcache/web_application_cache_host_impl.h" | 42 #include "content/child/appcache/web_application_cache_host_impl.h" |
| 42 #include "content/child/child_shared_bitmap_manager.h" | 43 #include "content/child/child_shared_bitmap_manager.h" |
| 43 #include "content/child/request_extra_data.h" | 44 #include "content/child/request_extra_data.h" |
| 44 #include "content/child/v8_value_converter_impl.h" | 45 #include "content/child/v8_value_converter_impl.h" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 168 #include "ui/gfx/geometry/rect.h" | 169 #include "ui/gfx/geometry/rect.h" |
| 169 #include "ui/gfx/geometry/rect_conversions.h" | 170 #include "ui/gfx/geometry/rect_conversions.h" |
| 170 #include "ui/gfx/geometry/size_conversions.h" | 171 #include "ui/gfx/geometry/size_conversions.h" |
| 171 #include "ui/gfx/native_widget_types.h" | 172 #include "ui/gfx/native_widget_types.h" |
| 172 #include "url/url_constants.h" | 173 #include "url/url_constants.h" |
| 173 #include "v8/include/v8.h" | 174 #include "v8/include/v8.h" |
| 174 | 175 |
| 175 #if defined(OS_ANDROID) | 176 #if defined(OS_ANDROID) |
| 176 #include <cpu-features.h> | 177 #include <cpu-features.h> |
| 177 | 178 |
| 179 #include "base/android/build_info.h" | |
| 178 #include "content/renderer/android/address_detector.h" | 180 #include "content/renderer/android/address_detector.h" |
| 179 #include "content/renderer/android/content_detector.h" | 181 #include "content/renderer/android/content_detector.h" |
| 180 #include "content/renderer/android/disambiguation_popup_helper.h" | 182 #include "content/renderer/android/disambiguation_popup_helper.h" |
| 181 #include "content/renderer/android/email_detector.h" | 183 #include "content/renderer/android/email_detector.h" |
| 182 #include "content/renderer/android/phone_number_detector.h" | 184 #include "content/renderer/android/phone_number_detector.h" |
| 183 #include "ui/gfx/geometry/rect_f.h" | 185 #include "ui/gfx/geometry/rect_f.h" |
| 184 | 186 |
| 185 #elif defined(OS_MACOSX) | 187 #elif defined(OS_MACOSX) |
| 186 #include "skia/ext/skia_utils_mac.h" | 188 #include "skia/ext/skia_utils_mac.h" |
| 187 #endif | 189 #endif |
| (...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1107 settings->setAccessibilityFontScaleFactor(prefs.font_scale_factor); | 1109 settings->setAccessibilityFontScaleFactor(prefs.font_scale_factor); |
| 1108 settings->setDeviceScaleAdjustment(prefs.device_scale_adjustment); | 1110 settings->setDeviceScaleAdjustment(prefs.device_scale_adjustment); |
| 1109 settings->setFullscreenSupported(prefs.fullscreen_supported); | 1111 settings->setFullscreenSupported(prefs.fullscreen_supported); |
| 1110 web_view->setIgnoreViewportTagScaleLimits(prefs.force_enable_zoom); | 1112 web_view->setIgnoreViewportTagScaleLimits(prefs.force_enable_zoom); |
| 1111 settings->setAutoZoomFocusedNodeToLegibleScale(true); | 1113 settings->setAutoZoomFocusedNodeToLegibleScale(true); |
| 1112 settings->setDoubleTapToZoomEnabled(prefs.double_tap_to_zoom_enabled); | 1114 settings->setDoubleTapToZoomEnabled(prefs.double_tap_to_zoom_enabled); |
| 1113 settings->setMediaControlsOverlayPlayButtonEnabled(true); | 1115 settings->setMediaControlsOverlayPlayButtonEnabled(true); |
| 1114 settings->setMediaPlaybackRequiresUserGesture( | 1116 settings->setMediaPlaybackRequiresUserGesture( |
| 1115 prefs.user_gesture_required_for_media_playback); | 1117 prefs.user_gesture_required_for_media_playback); |
| 1116 settings->setDefaultVideoPosterURL( | 1118 settings->setDefaultVideoPosterURL( |
| 1117 base::ASCIIToUTF16(prefs.default_video_poster_url.spec())); | 1119 base::ASCIIToUTF16(prefs.default_video_poster_url.spec())); |
| 1118 settings->setSupportDeprecatedTargetDensityDPI( | 1120 settings->setSupportDeprecatedTargetDensityDPI( |
| 1119 prefs.support_deprecated_target_density_dpi); | 1121 prefs.support_deprecated_target_density_dpi); |
| 1120 settings->setUseLegacyBackgroundSizeShorthandBehavior( | 1122 settings->setUseLegacyBackgroundSizeShorthandBehavior( |
| 1121 prefs.use_legacy_background_size_shorthand_behavior); | 1123 prefs.use_legacy_background_size_shorthand_behavior); |
| 1122 settings->setWideViewportQuirkEnabled(prefs.wide_viewport_quirk); | 1124 settings->setWideViewportQuirkEnabled(prefs.wide_viewport_quirk); |
| 1123 settings->setUseWideViewport(prefs.use_wide_viewport); | 1125 settings->setUseWideViewport(prefs.use_wide_viewport); |
| 1124 settings->setForceZeroLayoutHeight(prefs.force_zero_layout_height); | 1126 settings->setForceZeroLayoutHeight(prefs.force_zero_layout_height); |
| 1125 settings->setViewportMetaLayoutSizeQuirk( | 1127 settings->setViewportMetaLayoutSizeQuirk( |
| 1126 prefs.viewport_meta_layout_size_quirk); | 1128 prefs.viewport_meta_layout_size_quirk); |
| 1127 settings->setViewportMetaMergeContentQuirk( | 1129 settings->setViewportMetaMergeContentQuirk( |
| 1128 prefs.viewport_meta_merge_content_quirk); | 1130 prefs.viewport_meta_merge_content_quirk); |
| 1129 settings->setViewportMetaNonUserScalableQuirk( | 1131 settings->setViewportMetaNonUserScalableQuirk( |
| 1130 prefs.viewport_meta_non_user_scalable_quirk); | 1132 prefs.viewport_meta_non_user_scalable_quirk); |
| 1131 settings->setViewportMetaZeroValuesQuirk( | 1133 settings->setViewportMetaZeroValuesQuirk( |
| 1132 prefs.viewport_meta_zero_values_quirk); | 1134 prefs.viewport_meta_zero_values_quirk); |
| 1133 settings->setClobberUserAgentInitialScaleQuirk( | 1135 settings->setClobberUserAgentInitialScaleQuirk( |
| 1134 prefs.clobber_user_agent_initial_scale_quirk); | 1136 prefs.clobber_user_agent_initial_scale_quirk); |
| 1135 settings->setIgnoreMainFrameOverflowHiddenQuirk( | 1137 settings->setIgnoreMainFrameOverflowHiddenQuirk( |
| 1136 prefs.ignore_main_frame_overflow_hidden_quirk); | 1138 prefs.ignore_main_frame_overflow_hidden_quirk); |
| 1137 settings->setReportScreenSizeInPhysicalPixelsQuirk( | 1139 settings->setReportScreenSizeInPhysicalPixelsQuirk( |
| 1138 prefs.report_screen_size_in_physical_pixels_quirk); | 1140 prefs.report_screen_size_in_physical_pixels_quirk); |
| 1139 settings->setShouldReuseGlobalForUnownedMainFrame( | 1141 settings->setShouldReuseGlobalForUnownedMainFrame( |
| 1140 prefs.resue_global_for_unowned_main_frame); | 1142 prefs.resue_global_for_unowned_main_frame); |
| 1141 settings->setProgressBarCompletion( | 1143 settings->setProgressBarCompletion( |
| 1142 static_cast<WebSettings::ProgressBarCompletion>( | 1144 static_cast<WebSettings::ProgressBarCompletion>( |
| 1143 prefs.progress_bar_completion)); | 1145 prefs.progress_bar_completion)); |
| 1144 settings->setPreferHiddenVolumeControls(true); | 1146 settings->setPreferHiddenVolumeControls(true); |
| 1147 | |
| 1148 // Force preload=none and disable autoplay on older or low end Android | |
| 1149 // platforms because their media pipelines are not stable enough to handle | |
| 1150 // concurrent elements. See http://crbug.com/612909, http://crbug.com/622826. | |
| 1151 const bool is_low_end_device = | |
| 1152 base::android::BuildInfo::GetInstance()->sdk_int() <= 18 || | |
|
Srirama
2016/09/17 08:45:04
how about using "SDK_VERSION_JELLY_BEAN_MR2" inste
DaleCurtis
2016/09/19 21:04:46
Done.
| |
| 1153 base::SysInfo::IsLowEndDevice(); | |
| 1154 settings->setForcePreloadNoneForMediaElements(is_low_end_device); | |
| 1145 WebRuntimeFeatures::enableAutoplayMutedVideos( | 1155 WebRuntimeFeatures::enableAutoplayMutedVideos( |
| 1146 prefs.autoplay_muted_videos_enabled); | 1156 prefs.autoplay_muted_videos_enabled && !is_low_end_device); |
| 1147 #endif | 1157 #endif |
| 1148 | 1158 |
| 1149 settings->setAutoplayExperimentMode( | 1159 settings->setAutoplayExperimentMode( |
| 1150 blink::WebString::fromUTF8(prefs.autoplay_experiment_mode)); | 1160 blink::WebString::fromUTF8(prefs.autoplay_experiment_mode)); |
| 1151 | 1161 |
| 1152 settings->setViewportEnabled(prefs.viewport_enabled); | 1162 settings->setViewportEnabled(prefs.viewport_enabled); |
| 1153 settings->setViewportMetaEnabled(prefs.viewport_meta_enabled); | 1163 settings->setViewportMetaEnabled(prefs.viewport_meta_enabled); |
| 1154 settings->setShrinksViewportContentToFit( | 1164 settings->setShrinksViewportContentToFit( |
| 1155 prefs.shrinks_viewport_contents_to_fit); | 1165 prefs.shrinks_viewport_contents_to_fit); |
| 1156 settings->setViewportStyle( | 1166 settings->setViewportStyle( |
| (...skipping 1865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3022 return render_frame->focused_pepper_plugin(); | 3032 return render_frame->focused_pepper_plugin(); |
| 3023 } | 3033 } |
| 3024 frame = frame->traverseNext(false); | 3034 frame = frame->traverseNext(false); |
| 3025 } | 3035 } |
| 3026 | 3036 |
| 3027 return nullptr; | 3037 return nullptr; |
| 3028 } | 3038 } |
| 3029 #endif | 3039 #endif |
| 3030 | 3040 |
| 3031 } // namespace content | 3041 } // namespace content |
| OLD | NEW |