From e2d86788ba0672ea6f162f734c90f2fa79627ac8 Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Sat, 25 May 2019 02:51:38 +0200 Subject: [PATCH] Revert "Fullscreen from iframe (#1236)" (#1247) This reverts commit 19cdc15aa314760446866a1bcc2db99a80479683. --- kasmweb/app/ui.js | 79 ++++++++++++----------------------------------- 1 file changed, 20 insertions(+), 59 deletions(-) diff --git a/kasmweb/app/ui.js b/kasmweb/app/ui.js index 1136b4f..4f5a17e 100644 --- a/kasmweb/app/ui.js +++ b/kasmweb/app/ui.js @@ -1537,67 +1537,28 @@ const UI = { * ------v------*/ toggleFullscreen() { - // Determine the document using fullscreen. This may either be - // just the "document", but if using the viewer in an iframe, you need - // to use the parent window's "document" instead. - let doc = document; - if (window.self !== window.top) { - doc = window.parent.document; - } - // Check the fullscreen status using the correct document as - // a reference. The same document is then used to exit fullscreen. - if (doc.fullscreenElement || // alternative standard method - doc.mozFullScreenElement || // currently working methods - doc.webkitFullscreenElement || - doc.msFullscreenElement) { - if (doc.exitFullscreen) { - doc.exitFullscreen(); - } else if (doc.mozCancelFullScreen) { - doc.mozCancelFullScreen(); - } else if (doc.webkitExitFullscreen) { - doc.webkitExitFullscreen(); - } else if (doc.msExitFullscreen) { - doc.msExitFullscreen(); + if (document.fullscreenElement || // alternative standard method + document.mozFullScreenElement || // currently working methods + document.webkitFullscreenElement || + document.msFullscreenElement) { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); } } else { - // To activate fullscreen, we need to find the correct document - // element, which is usually "document.documentElement". But when - // using the viewer in an iframe, this is actually the iframe - // element itself in the parent document. - let doc_el = document.documentElement; - if (window.self !== window.top) { - // Seek out the correct iframe from the parent document. - let iframes = window.parent.document - .getElementsByTagName('iframe'); - for (let i in iframes) { - let content_doc = null; - try { - content_doc = iframes[i].contentDocument; - } catch (err) { - // I may not be permitted to read the contentDocument - // of the iframe, but then it can't be me, so ignore. - } - if (content_doc === document) { - doc_el = iframes[i]; - // To use .body.msRequestFullscreen in IE, we need to - // set the document element accordingly. - // Note that the