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

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

Issue 2846623003: Make autoplay policies no longer platform dependant. (Closed)
Patch Set: 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 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 987 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 998
999 #if defined(OS_ANDROID) 999 #if defined(OS_ANDROID)
1000 settings->SetAllowCustomScrollbarInMainFrame(false); 1000 settings->SetAllowCustomScrollbarInMainFrame(false);
1001 settings->SetTextAutosizingEnabled(prefs.text_autosizing_enabled); 1001 settings->SetTextAutosizingEnabled(prefs.text_autosizing_enabled);
1002 settings->SetAccessibilityFontScaleFactor(prefs.font_scale_factor); 1002 settings->SetAccessibilityFontScaleFactor(prefs.font_scale_factor);
1003 settings->SetDeviceScaleAdjustment(prefs.device_scale_adjustment); 1003 settings->SetDeviceScaleAdjustment(prefs.device_scale_adjustment);
1004 settings->SetFullscreenSupported(prefs.fullscreen_supported); 1004 settings->SetFullscreenSupported(prefs.fullscreen_supported);
1005 web_view->SetIgnoreViewportTagScaleLimits(prefs.force_enable_zoom); 1005 web_view->SetIgnoreViewportTagScaleLimits(prefs.force_enable_zoom);
1006 settings->SetAutoZoomFocusedNodeToLegibleScale(true); 1006 settings->SetAutoZoomFocusedNodeToLegibleScale(true);
1007 settings->SetDoubleTapToZoomEnabled(prefs.double_tap_to_zoom_enabled); 1007 settings->SetDoubleTapToZoomEnabled(prefs.double_tap_to_zoom_enabled);
1008 settings->SetMediaPlaybackRequiresUserGesture(
1009 prefs.user_gesture_required_for_media_playback);
1010 settings->SetMediaPlaybackGestureWhitelistScope( 1008 settings->SetMediaPlaybackGestureWhitelistScope(
1011 blink::WebString::FromUTF8(prefs.media_playback_gesture_whitelist_scope)); 1009 blink::WebString::FromUTF8(prefs.media_playback_gesture_whitelist_scope));
1012 settings->SetDefaultVideoPosterURL( 1010 settings->SetDefaultVideoPosterURL(
1013 WebString::FromASCII(prefs.default_video_poster_url.spec())); 1011 WebString::FromASCII(prefs.default_video_poster_url.spec()));
1014 settings->SetSupportDeprecatedTargetDensityDPI( 1012 settings->SetSupportDeprecatedTargetDensityDPI(
1015 prefs.support_deprecated_target_density_dpi); 1013 prefs.support_deprecated_target_density_dpi);
1016 settings->SetUseLegacyBackgroundSizeShorthandBehavior( 1014 settings->SetUseLegacyBackgroundSizeShorthandBehavior(
1017 prefs.use_legacy_background_size_shorthand_behavior); 1015 prefs.use_legacy_background_size_shorthand_behavior);
1018 settings->SetWideViewportQuirkEnabled(prefs.wide_viewport_quirk); 1016 settings->SetWideViewportQuirkEnabled(prefs.wide_viewport_quirk);
1019 settings->SetUseWideViewport(prefs.use_wide_viewport); 1017 settings->SetUseWideViewport(prefs.use_wide_viewport);
(...skipping 29 matching lines...) Expand all
1049 settings->SetForcePreloadNoneForMediaElements(is_jelly_bean); 1047 settings->SetForcePreloadNoneForMediaElements(is_jelly_bean);
1050 1048
1051 WebRuntimeFeatures::EnableVideoFullscreenOrientationLock( 1049 WebRuntimeFeatures::EnableVideoFullscreenOrientationLock(
1052 prefs.video_fullscreen_orientation_lock_enabled); 1050 prefs.video_fullscreen_orientation_lock_enabled);
1053 WebRuntimeFeatures::EnableVideoFullscreenDetection( 1051 WebRuntimeFeatures::EnableVideoFullscreenDetection(
1054 prefs.video_fullscreen_detection_enabled); 1052 prefs.video_fullscreen_detection_enabled);
1055 settings->SetEmbeddedMediaExperienceEnabled( 1053 settings->SetEmbeddedMediaExperienceEnabled(
1056 prefs.embedded_media_experience_enabled); 1054 prefs.embedded_media_experience_enabled);
1057 settings->SetDoNotUpdateSelectionOnMutatingSelectionRange( 1055 settings->SetDoNotUpdateSelectionOnMutatingSelectionRange(
1058 prefs.do_not_update_selection_on_mutating_selection_range); 1056 prefs.do_not_update_selection_on_mutating_selection_range);
1059 #else // defined(OS_ANDROID)
1060 settings->SetCrossOriginMediaPlaybackRequiresUserGesture(
1061 prefs.cross_origin_media_playback_requires_user_gesture);
1062 #endif // defined(OS_ANDROID) 1057 #endif // defined(OS_ANDROID)
1063 1058
1059 // TODO(mlamouri): use an AutoplayPolicy in WebSettings.
1060 switch (prefs.autoplay_policy) {
1061 case AutoplayPolicy::kNoUserGestureRequired:
1062 settings->SetMediaPlaybackRequiresUserGesture(false);
1063 settings->SetCrossOriginMediaPlaybackRequiresUserGesture(false);
1064 break;
1065 case AutoplayPolicy::kCrossOriginUserGestureRequired:
1066 settings->SetMediaPlaybackRequiresUserGesture(false);
1067 settings->SetCrossOriginMediaPlaybackRequiresUserGesture(true);
1068 break;
1069 case AutoplayPolicy::kUserGestureRequired:
1070 settings->SetMediaPlaybackRequiresUserGesture(true);
1071 settings->SetCrossOriginMediaPlaybackRequiresUserGesture(false);
1072 break;
1073 }
1074
1064 settings->SetViewportEnabled(prefs.viewport_enabled); 1075 settings->SetViewportEnabled(prefs.viewport_enabled);
1065 settings->SetViewportMetaEnabled(prefs.viewport_meta_enabled); 1076 settings->SetViewportMetaEnabled(prefs.viewport_meta_enabled);
1066 settings->SetShrinksViewportContentToFit( 1077 settings->SetShrinksViewportContentToFit(
1067 prefs.shrinks_viewport_contents_to_fit); 1078 prefs.shrinks_viewport_contents_to_fit);
1068 settings->SetViewportStyle( 1079 settings->SetViewportStyle(
1069 static_cast<blink::WebViewportStyle>(prefs.viewport_style)); 1080 static_cast<blink::WebViewportStyle>(prefs.viewport_style));
1070 1081
1071 settings->SetLoadWithOverviewMode(prefs.initialize_at_minimum_page_scale); 1082 settings->SetLoadWithOverviewMode(prefs.initialize_at_minimum_page_scale);
1072 settings->SetMainFrameResizesAreOrientationChanges( 1083 settings->SetMainFrameResizesAreOrientationChanges(
1073 prefs.main_frame_resizes_are_orientation_changes); 1084 prefs.main_frame_resizes_are_orientation_changes);
(...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after
2660 input_event.GetCoalescedEventsPointers(), latency_info, 2671 input_event.GetCoalescedEventsPointers(), latency_info,
2661 dispatch_type); 2672 dispatch_type);
2662 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; 2673 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
2663 } 2674 }
2664 idle_user_detector_->ActivityDetected(); 2675 idle_user_detector_->ActivityDetected();
2665 return RenderWidget::HandleInputEvent(input_event, latency_info, 2676 return RenderWidget::HandleInputEvent(input_event, latency_info,
2666 dispatch_type); 2677 dispatch_type);
2667 } 2678 }
2668 2679
2669 } // namespace content 2680 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698