Merge pull request #10993 from ahocevar/no-custom-types

Do not rely on custom type overrides
This commit is contained in:
Andreas Hocevar
2020-05-02 18:45:49 +02:00
committed by GitHub
2 changed files with 14 additions and 37 deletions

View File

@@ -245,8 +245,8 @@ class FullScreen extends Control {
function isFullScreenSupported() {
const body = document.body;
return !!(
body.webkitRequestFullscreen ||
(body.msRequestFullscreen && document.msFullscreenEnabled) ||
body['webkitRequestFullscreen'] ||
(body['msRequestFullscreen'] && document['msFullscreenEnabled']) ||
(body.requestFullscreen && document.fullscreenEnabled)
);
}
@@ -256,8 +256,8 @@ function isFullScreenSupported() {
*/
function isFullScreen() {
return !!(
document.webkitIsFullScreen ||
document.msFullscreenElement ||
document['webkitIsFullScreen'] ||
document['msFullscreenElement'] ||
document.fullscreenElement
);
}
@@ -269,10 +269,10 @@ function isFullScreen() {
function requestFullScreen(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if (element['msRequestFullscreen']) {
element['msRequestFullscreen']();
} else if (element['webkitRequestFullscreen']) {
element['webkitRequestFullscreen']();
}
}
@@ -281,8 +281,8 @@ function requestFullScreen(element) {
* @param {HTMLElement} element Element to request fullscreen
*/
function requestFullScreenWithKeys(element) {
if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
if (element['webkitRequestFullscreen']) {
element['webkitRequestFullscreen']();
} else {
requestFullScreen(element);
}
@@ -294,10 +294,10 @@ function requestFullScreenWithKeys(element) {
function exitFullScreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document['msExitFullscreen']) {
document['msExitFullscreen']();
} else if (document['webkitExitFullscreen']) {
document['webkitExitFullscreen']();
}
}

23
types/dom.d.ts vendored
View File

@@ -1,23 +0,0 @@
/**
* Type declarations extending TypeScript's lib/lib.dom.d.ts.
* https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts
*/
interface Document {
readonly webkitIsFullScreen: boolean;
readonly fullscreenElement: Element;
readonly msFullscreenElement: Element;
readonly webkitFullscreenElement: Element;
readonly msFullscreenEnabled: boolean;
readonly webkitFullscreenEnabled: boolean;
msExitFullscreen(): void;
webkitExitFullscreen(): void;
}
interface Element {
msRequestFullscreen(): Promise<void>;
webkitRequestFullscreen(allowKeyboardInput?: number): Promise<void>;
}