[FIX] web_editor: restore broken VideoDialog options

- To enable loop on a video, only setting the 'loop' URL parameter
to 1 will not work anymore. We also need to set the playlist parameter
to the video ID.

- Sound is no longer allowed in autoplay because of new autoplay
policies of most browsers. To make autoplay work, the video must be
explicitely muted.

closes odoo/odoo#34323

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
Kishan Gajjar
2019-06-28 15:38:31 +00:00
committed by qsm-odoo
parent 90c2e0c75e
commit 5d4e75ae58
2 changed files with 8 additions and 3 deletions
@@ -795,7 +795,7 @@ var VideoDialog = Widget.extend({
return {errorCode: 0};
}
var autoplay = options.autoplay ? '?autoplay=1' : '?autoplay=0';
var autoplay = options.autoplay ? '?autoplay=1&mute=1' : '?autoplay=0';
if (ytMatch && ytMatch[2].length === 11) {
$video.attr('src', '//www.youtube' + (ytMatch[1] || '') + '.com/embed/' + ytMatch[2] + autoplay);
@@ -824,7 +824,8 @@ var VideoDialog = Widget.extend({
$video.attr('src', $video.attr('src') + '&rel=0');
}
if (options.loop && (ytMatch || vimMatch)) {
$video.attr('src', $video.attr('src') + '&loop=1');
var videoSrc = _.str.sprintf('%s&loop=1', $video.attr('src'));
$video.attr('src', ytMatch ? _.str.sprintf('%s&playlist=%s', videoSrc, ytMatch[2]) : videoSrc);
}
if (options.hide_controls && (ytMatch || dmMatch)) {
$video.attr('src', $video.attr('src') + '&controls=0');
+5 -1
View File
@@ -202,7 +202,11 @@
<small class="text-muted">Options</small>
<ul class="list-group">
<li class="list-group-item o_yt_option o_vim_option o_dm_option">
<label class="o_switch mb0"><input id="o_video_autoplay" type="checkbox"/><span/>Autoplay</label>
<label class="o_switch mb0">
<input id="o_video_autoplay" type="checkbox"/><span/>
<span style="margin-right: 8px;">Autoplay</span>
<span class="small text-muted" style="margin-left: auto;">Videos are muted when autoplay is enabled</span>
</label>
</li>
<li class="list-group-item o_yt_option o_vim_option">
<label class="o_switch mb0"><input id="o_video_loop" type="checkbox"/><span/>Loop</label>