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

Unified Diff: content/renderer/render_view_impl.cc

Issue 2846623003: Make autoplay policies no longer platform dependant. (Closed)
Patch Set: fix webview Created 3 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index b8376f250824369ce847feeb5c1e35da6f864d55..2352ae81c480b69fadf51f094c141a96e54872e6 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1006,8 +1006,6 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
web_view->SetIgnoreViewportTagScaleLimits(prefs.force_enable_zoom);
settings->SetAutoZoomFocusedNodeToLegibleScale(true);
settings->SetDoubleTapToZoomEnabled(prefs.double_tap_to_zoom_enabled);
- settings->SetMediaPlaybackRequiresUserGesture(
- prefs.user_gesture_required_for_media_playback);
settings->SetMediaPlaybackGestureWhitelistScope(
blink::WebString::FromUTF8(prefs.media_playback_gesture_whitelist_scope));
settings->SetDefaultVideoPosterURL(
@@ -1059,11 +1057,24 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
prefs.embedded_media_experience_enabled);
settings->SetDoNotUpdateSelectionOnMutatingSelectionRange(
prefs.do_not_update_selection_on_mutating_selection_range);
-#else // defined(OS_ANDROID)
- settings->SetCrossOriginMediaPlaybackRequiresUserGesture(
- prefs.cross_origin_media_playback_requires_user_gesture);
#endif // defined(OS_ANDROID)
+ // TODO(mlamouri): use an AutoplayPolicy in WebSettings.
+ switch (prefs.autoplay_policy) {
+ case AutoplayPolicy::kNoUserGestureRequired:
+ settings->SetMediaPlaybackRequiresUserGesture(false);
+ settings->SetCrossOriginMediaPlaybackRequiresUserGesture(false);
+ break;
+ case AutoplayPolicy::kCrossOriginUserGestureRequired:
+ settings->SetMediaPlaybackRequiresUserGesture(false);
+ settings->SetCrossOriginMediaPlaybackRequiresUserGesture(true);
+ break;
+ case AutoplayPolicy::kUserGestureRequired:
+ settings->SetMediaPlaybackRequiresUserGesture(true);
+ settings->SetCrossOriginMediaPlaybackRequiresUserGesture(false);
+ break;
+ }
+
settings->SetViewportEnabled(prefs.viewport_enabled);
settings->SetViewportMetaEnabled(prefs.viewport_meta_enabled);
settings->SetShrinksViewportContentToFit(

Powered by Google App Engine
This is Rietveld 408576698