Skip to content

Commit 84d50dc

Browse files
Fix: Firefox fullscreen api (fixes #239) (#259)
* Fix: Firefox fullscren api (fixes #239) * Changed override style * Upmerge master * Reapply original fix for #239 * Check if browser is currently in fullscreen before canceling fullscreen --------- Co-authored-by: Brad Simpson <brad.simpson@kineo.com>
1 parent a9f2bc7 commit 84d50dc

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

js/mediaLibrariesOverrides.js

+29
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,35 @@ window.mejs.MediaElementPlayer.prototype.setTrack = function (lang) {
181181

182182
};
183183

184+
/**
185+
* Fix for firefox fullscreen api
186+
* https://github.com/adaptlearning/adapt-contrib-media/issues/239
187+
*/
188+
const mediaFeatures = window.mejs.MediaFeatures;
189+
if (mediaFeatures.hasMozNativeFullScreen) {
190+
Object.assign(mediaFeatures, {
191+
fullScreenEventName: document.exitFullscreen
192+
? 'fullscreenchange'
193+
: 'mozfullscreenchange',
194+
requestFullScreen: el => {
195+
document.exitFullscreen
196+
? el.requestFullscreen()
197+
: el.mozRequestFullScreen();
198+
},
199+
isFullScreen: () => {
200+
return document.exitFullscreen
201+
? Boolean(document.fullscreenElement)
202+
: document.mozFullScreen;
203+
},
204+
cancelFullScreen: el => {
205+
if (!mediaFeatures.isFullScreen()) return;
206+
document.exitFullscreen
207+
? document.exitFullscreen()
208+
: document.mozCancelFullScreen();
209+
}
210+
});
211+
}
212+
184213
/**
185214
* Overwrite mediaelement-and-player enterFullScreen to remove Chrome <17 bug fix (Media issue #255)
186215
*/

0 commit comments

Comments
 (0)