Don't try to exit fullscreen if not fullscreen

This was causing annoying exceptions on latest Chrome. Use
document.fullScreenElement to detect if we're fullscreen and don't
try to exit if we aren't.
pull/21833/head
David Baker 2018-09-11 11:31:24 +01:00
parent f0e33dff24
commit d3038ea765
1 changed files with 11 additions and 5 deletions

View File

@ -26,6 +26,15 @@ import dis from '../../../dispatcher';
import SettingsStore from "../../../settings/SettingsStore";
function getFullScreenElement() {
return (
document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement
);
}
module.exports = React.createClass({
displayName: 'VideoView',
@ -88,7 +97,7 @@ module.exports = React.createClass({
element.msRequestFullscreen
);
requestMethod.call(element);
} else {
} else if (getFullScreenElement()) {
const exitMethod = (
document.exitFullscreen ||
document.mozCancelFullScreen ||
@ -108,10 +117,7 @@ module.exports = React.createClass({
const VideoFeed = sdk.getComponent('voip.VideoFeed');
// if we're fullscreen, we don't want to set a maxHeight on the video element.
const fullscreenElement = (document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement);
const maxVideoHeight = fullscreenElement ? null : this.props.maxHeight;
const maxVideoHeight = getFullScreenElement() ? null : this.props.maxHeight;
const localVideoFeedClasses = classNames("mx_VideoView_localVideoFeed",
{ "mx_VideoView_localVideoFeed_flipped":
SettingsStore.getValue('VideoView.flipVideoHorizontally'),