diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index fe38f43858..f919a58fc2 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -1,5 +1,4 @@ import escapeHtml from 'escape-html'; -import debounce from 'lodash-es/debounce'; import { playbackManager } from '../../../components/playback/playbackmanager'; import browser from '../../../scripts/browser'; import dom from '../../../scripts/dom'; @@ -326,7 +325,16 @@ export default function (view) { elem.removeEventListener(transitionEndEventName, onHideAnimationComplete); } - const _focus = debounce((focusElement) => focusManager.focus(focusElement), 50); + const _focus = function (focusElement) { + // If no focus element is provided, try to keep current focus if it's valid, + // otherwise default to pause button + const currentFocus = focusElement || document.activeElement; + if (!currentFocus || !focusManager.isCurrentlyFocusable(currentFocus)) { + focusElement = osdBottomElement.querySelector('.btnPause'); + } + + if (focusElement) focusManager.focus(focusElement); + }; function showMainOsdControls(focusElement) { if (!currentVisibleMenu) { @@ -336,23 +344,12 @@ export default function (view) { elem.classList.remove('hide'); elem.classList.remove('videoOsdBottom-hidden'); - focusElement ||= elem.querySelector('.btnPause'); - if (!layoutManager.mobile) { _focus(focusElement); } toggleSubtitleSync(); } else if (currentVisibleMenu === 'osd' && !layoutManager.mobile) { - // If no focus element is provided, try to keep current focus if it's valid, - // otherwise default to pause button - if (!focusElement) { - const currentFocus = document.activeElement; - if (!currentFocus || !focusManager.isCurrentlyFocusable(currentFocus)) { - focusElement = osdBottomElement.querySelector('.btnPause'); - } - } - - if (focusElement) _focus(focusElement); + _focus(focusElement); } }