1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Polyfill HTMLMediaElement.play

Return a `Promise` to match the new standard.
This commit is contained in:
Dmitry Lyzo 2022-02-26 13:28:16 +03:00
parent 801c29d3b9
commit 270430f6a1
3 changed files with 41 additions and 21 deletions

View file

@ -0,0 +1,26 @@
/**
* Polyfill for HTMLMediaElement
* - HTMLMediaElement.play
* Return a `Promise`.
*/
(function (HTMLMediaElement) {
'use strict';
const HTMLMediaElement_proto = HTMLMediaElement.prototype;
const real_play = HTMLMediaElement_proto.play;
HTMLMediaElement_proto.play = function () {
try {
const promise = real_play.apply(this, arguments);
if (typeof promise?.then === 'function') {
return promise;
}
return Promise.resolve();
} catch (err) {
return Promise.reject(err);
}
};
}(HTMLMediaElement));