From da38afff6d28066bbd64ae60d562eb641844ab57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Hennecart=20=28jeh=29?= Date: Wed, 24 May 2023 13:13:49 +0000 Subject: [PATCH] [FIX] website(_slides): delete autoplay of all iframes in the iframefallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Delete the autoplay for all iframes in the iframefallback. The autoplay was causing issue where the sound of the previous video was played on the background. Now we delete the autoplay for all iframe directly. This happened in media_iframe_video, youtube player and vimeo videos. We can do this for all iframe source url directly as it impacts other modules like website_slides or website_event_track_live. task-3012952 closes odoo/odoo#122392 X-original-commit: 6be8af36726d750065972e122e8f4a0aa0f56a17 Signed-off-by: Warnon Aurélien (awa) Signed-off-by: Hennecart Jérémy (jeh) --- .../website_preview/website_preview.js | 4 ++-- addons/website_slides/__manifest__.py | 1 - .../website_preview/website_preview.js | 21 ------------------- 3 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 addons/website_slides/static/src/client_actions/website_preview/website_preview.js diff --git a/addons/website/static/src/client_actions/website_preview/website_preview.js b/addons/website/static/src/client_actions/website_preview/website_preview.js index b13ea32e837..401ea7ba89a 100644 --- a/addons/website/static/src/client_actions/website_preview/website_preview.js +++ b/addons/website/static/src/client_actions/website_preview/website_preview.js @@ -424,9 +424,9 @@ export class WebsitePreview extends Component { * the iframefallback content. */ _cleanIframeFallback() { - // Remove autoplay in all media video iframes urls so videos are not + // Remove autoplay in all iframes urls so videos are not // playing in the background - const iframesEl = this.iframefallback.el.contentDocument.querySelectorAll(".media_iframe_video iframe"); + const iframesEl = this.iframefallback.el.contentDocument.querySelectorAll("iframe"); for (const iframeEl of iframesEl) { const url = new URL(iframeEl.src); url.searchParams.delete('autoplay'); diff --git a/addons/website_slides/__manifest__.py b/addons/website_slides/__manifest__.py index be125b6fefb..59fc539da0e 100644 --- a/addons/website_slides/__manifest__.py +++ b/addons/website_slides/__manifest__.py @@ -72,7 +72,6 @@ Featuring 'assets': { 'web.assets_backend': [ 'website_slides/static/src/activity/**/*', - 'website_slides/static/src/client_actions/website_preview/website_preview.js', 'website_slides/static/src/slide_category_one2many_field.js', 'website_slides/static/src/slide_category_list_renderer.js', 'website_slides/static/src/scss/slide_views.scss', diff --git a/addons/website_slides/static/src/client_actions/website_preview/website_preview.js b/addons/website_slides/static/src/client_actions/website_preview/website_preview.js deleted file mode 100644 index 8b53487dd8b..00000000000 --- a/addons/website_slides/static/src/client_actions/website_preview/website_preview.js +++ /dev/null @@ -1,21 +0,0 @@ -/** @odoo-module **/ - -import { patch } from 'web.utils'; -import { WebsitePreview } from '@website/client_actions/website_preview/website_preview'; - -patch(WebsitePreview.prototype, 'website_slides_website_preview', { - /** - * @override - */ - _cleanIframeFallback() { - // Remove autoplay in all youtube videos urls so videos are not playing - // in the background - const playersEl = this.iframefallback.el.contentDocument.querySelectorAll('[id^=youtube-player]'); - for (const playerEl of playersEl) { - const url = new URL(playerEl.src); - url.searchParams.delete('autoplay'); - playerEl.src = url.toString(); - } - return this._super(...arguments); - } -});