diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index c82ee4fb15..fa8603f308 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -403,7 +403,7 @@ import { appRouter } from '../../../components/appRouter'; } function onFullscreenChanged() { - if (!playbackManager.isFullscreen(currentPlayer)) { + if (currentPlayer.forcedFullscreen && !playbackManager.isFullscreen(currentPlayer)) { appRouter.back(); return; } diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 0f1e48a8bd..4724fcba0f 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -1361,25 +1361,29 @@ function tryRemoveElement(elem) { this.#videoDialog = dlg; this.#mediaElement = videoElement; + delete this.forcedFullscreen; + if (options.fullscreen) { // At this point, we must hide the scrollbar placeholder, so it's not being displayed while the item is being loaded document.body.classList.add('hide-scroll'); - } - if (options.fullscreen) { + // Enter fullscreen in the webOS browser to hide the top bar if (!window.NativeShell && browser.web0s && Screenfull.isEnabled) { - Screenfull.request(); + Screenfull.request().then(() => { + this.forcedFullscreen = true; + }); return videoElement; } + // don't animate on smart tv's, too slow if (!browser.slow && browser.supportsCssAnimation()) { return zoomIn(dlg).then(function () { return videoElement; }); } - } + return videoElement; }); } else {