From 22d0514257dc8b6163895a525e68a98985027533 Mon Sep 17 00:00:00 2001 From: Richard Bushell Date: Thu, 11 Apr 2019 18:57:19 +0100 Subject: [PATCH] fix: fix fullscreen detection when player is nested within document fullscreen (#5912) --- src/js/fullscreen-api.js | 21 ++++++++------------- src/js/player.js | 2 +- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/js/fullscreen-api.js b/src/js/fullscreen-api.js index 8a07ee609..2ae57c7e4 100644 --- a/src/js/fullscreen-api.js +++ b/src/js/fullscreen-api.js @@ -22,7 +22,8 @@ const apiMap = [ 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', - 'fullscreenerror' + 'fullscreenerror', + 'fullscreen' ], // WebKit [ @@ -31,16 +32,8 @@ const apiMap = [ 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', - 'webkitfullscreenerror' - ], - // Old WebKit (Safari 5.1) - [ - 'webkitRequestFullScreen', - 'webkitCancelFullScreen', - 'webkitCurrentFullScreenElement', - 'webkitCancelFullScreen', - 'webkitfullscreenchange', - 'webkitfullscreenerror' + 'webkitfullscreenerror', + '-webkit-full-screen' ], // Mozilla [ @@ -49,7 +42,8 @@ const apiMap = [ 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', - 'mozfullscreenerror' + 'mozfullscreenerror', + '-moz-full-screen' ], // Microsoft [ @@ -58,7 +52,8 @@ const apiMap = [ 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', - 'MSFullscreenError' + 'MSFullscreenError', + '-ms-fullscreen' ] ]; diff --git a/src/js/player.js b/src/js/player.js index f0b920694..61962396d 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -1989,7 +1989,7 @@ class Player extends Component { documentFullscreenChange_(e) { const fsApi = FullscreenApi; - this.isFullscreen(document[fsApi.fullscreenElement] === this.el()); + this.isFullscreen(document[fsApi.fullscreenElement] === this.el() || this.el().matches(':' + fsApi.fullscreen)); // If cancelling fullscreen, remove event listener. if (this.isFullscreen() === false) {