mirror of
https://github.com/element-hq/element-web
synced 2024-11-27 19:56:47 +03:00
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.
This commit is contained in:
parent
f0e33dff24
commit
d3038ea765
1 changed files with 11 additions and 5 deletions
|
@ -26,6 +26,15 @@ import dis from '../../../dispatcher';
|
||||||
|
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
|
||||||
|
function getFullScreenElement() {
|
||||||
|
return (
|
||||||
|
document.fullscreenElement ||
|
||||||
|
document.mozFullScreenElement ||
|
||||||
|
document.webkitFullscreenElement ||
|
||||||
|
document.msFullscreenElement
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'VideoView',
|
displayName: 'VideoView',
|
||||||
|
|
||||||
|
@ -88,7 +97,7 @@ module.exports = React.createClass({
|
||||||
element.msRequestFullscreen
|
element.msRequestFullscreen
|
||||||
);
|
);
|
||||||
requestMethod.call(element);
|
requestMethod.call(element);
|
||||||
} else {
|
} else if (getFullScreenElement()) {
|
||||||
const exitMethod = (
|
const exitMethod = (
|
||||||
document.exitFullscreen ||
|
document.exitFullscreen ||
|
||||||
document.mozCancelFullScreen ||
|
document.mozCancelFullScreen ||
|
||||||
|
@ -108,10 +117,7 @@ module.exports = React.createClass({
|
||||||
const VideoFeed = sdk.getComponent('voip.VideoFeed');
|
const VideoFeed = sdk.getComponent('voip.VideoFeed');
|
||||||
|
|
||||||
// if we're fullscreen, we don't want to set a maxHeight on the video element.
|
// if we're fullscreen, we don't want to set a maxHeight on the video element.
|
||||||
const fullscreenElement = (document.fullscreenElement ||
|
const maxVideoHeight = getFullScreenElement() ? null : this.props.maxHeight;
|
||||||
document.mozFullScreenElement ||
|
|
||||||
document.webkitFullscreenElement);
|
|
||||||
const maxVideoHeight = fullscreenElement ? null : this.props.maxHeight;
|
|
||||||
const localVideoFeedClasses = classNames("mx_VideoView_localVideoFeed",
|
const localVideoFeedClasses = classNames("mx_VideoView_localVideoFeed",
|
||||||
{ "mx_VideoView_localVideoFeed_flipped":
|
{ "mx_VideoView_localVideoFeed_flipped":
|
||||||
SettingsStore.getValue('VideoView.flipVideoHorizontally'),
|
SettingsStore.getValue('VideoView.flipVideoHorizontally'),
|
||||||
|
|
Loading…
Reference in a new issue