Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 2496593002: Adding an experimental flag to block autoplay with sound in cross-origin iframes (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 prefs.progress_bar_completion)); 1146 prefs.progress_bar_completion));
1147 settings->setPreferHiddenVolumeControls(true); 1147 settings->setPreferHiddenVolumeControls(true);
1148 1148
1149 // Force preload=none and disable autoplay on older or low end Android 1149 // Force preload=none and disable autoplay on older or low end Android
1150 // platforms because their media pipelines are not stable enough to handle 1150 // platforms because their media pipelines are not stable enough to handle
1151 // concurrent elements. See http://crbug.com/612909, http://crbug.com/622826. 1151 // concurrent elements. See http://crbug.com/612909, http://crbug.com/622826.
1152 const bool is_low_end_device = 1152 const bool is_low_end_device =
1153 base::android::BuildInfo::GetInstance()->sdk_int() <= 1153 base::android::BuildInfo::GetInstance()->sdk_int() <=
1154 base::android::SDK_VERSION_JELLY_BEAN_MR2 || 1154 base::android::SDK_VERSION_JELLY_BEAN_MR2 ||
1155 base::SysInfo::IsLowEndDevice(); 1155 base::SysInfo::IsLowEndDevice();
1156 settings->setForcePreloadNoneForMediaElements(is_low_end_device);
1157 WebRuntimeFeatures::enableAutoplayMutedVideos( 1156 WebRuntimeFeatures::enableAutoplayMutedVideos(
1158 prefs.autoplay_muted_videos_enabled && !is_low_end_device); 1157 prefs.autoplay_muted_videos_enabled && !is_low_end_device);
1158 settings->setForcePreloadNoneForMediaElements(is_low_end_device);
1159 settings->setSpellCheckEnabledByDefault(prefs.spellcheck_enabled_by_default); 1159 settings->setSpellCheckEnabledByDefault(prefs.spellcheck_enabled_by_default);
1160 #else
1161 WebRuntimeFeatures::enableAutoplayMutedVideos(
1162 prefs.autoplay_muted_videos_enabled);
1163 #endif
1164
1165 #if !defined(OS_ANDROID)
1166 settings->setMediaPlaybackInCrossOriginIframesRequiresUserGesture(
1167 prefs.user_gesture_required_for_media_playback_in_cross_origin_iframes);
1160 #endif 1168 #endif
1161 1169
1162 settings->setAutoplayExperimentMode( 1170 settings->setAutoplayExperimentMode(
1163 blink::WebString::fromUTF8(prefs.autoplay_experiment_mode)); 1171 blink::WebString::fromUTF8(prefs.autoplay_experiment_mode));
1164 1172
1165 settings->setViewportEnabled(prefs.viewport_enabled); 1173 settings->setViewportEnabled(prefs.viewport_enabled);
1166 settings->setViewportMetaEnabled(prefs.viewport_meta_enabled); 1174 settings->setViewportMetaEnabled(prefs.viewport_meta_enabled);
1167 settings->setShrinksViewportContentToFit( 1175 settings->setShrinksViewportContentToFit(
1168 prefs.shrinks_viewport_contents_to_fit); 1176 prefs.shrinks_viewport_contents_to_fit);
1169 settings->setViewportStyle( 1177 settings->setViewportStyle(
(...skipping 1794 matching lines...) Expand 10 before | Expand all | Expand 10 after
2964 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 2972 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
2965 } 2973 }
2966 2974
2967 std::unique_ptr<InputEventAck> ack( 2975 std::unique_ptr<InputEventAck> ack(
2968 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type, 2976 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type,
2969 INPUT_EVENT_ACK_STATE_NOT_CONSUMED)); 2977 INPUT_EVENT_ACK_STATE_NOT_CONSUMED));
2970 OnInputEventAck(std::move(ack)); 2978 OnInputEventAck(std::move(ack));
2971 } 2979 }
2972 2980
2973 } // namespace content 2981 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698