From 3529625a6cd406883d12c69e4056ea2b7945f8c0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 3 Aug 2014 12:35:53 +0100 Subject: [PATCH] Fix full screen button not supported --- core/modules/startup/rootwidget.js | 17 +++++++++-------- core/modules/utils/dom/browser.js | 9 +++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 2cae33040..222950825 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -67,14 +67,15 @@ exports.startup = function() { }); }); var fullscreen = $tw.utils.getFullScreenApis(); - $tw.rootWidget.addEventListener("tw-full-screen",function(event) { - if(document[fullscreen._fullscreenElement]) { - document[fullscreen._exitFullscreen](); - } else { - document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); - } - }); - + if(fullscreen) { + $tw.rootWidget.addEventListener("tw-full-screen",function(event) { + if(document[fullscreen._fullscreenElement]) { + document[fullscreen._exitFullscreen](); + } else { + document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); + } + }); + } // If we're being viewed on a data: URI then give instructions for how to save if(document.location.protocol === "data:") { $tw.rootWidget.dispatchEvent({ diff --git a/core/modules/utils/dom/browser.js b/core/modules/utils/dom/browser.js index 5c397a065..090d5768b 100644 --- a/core/modules/utils/dom/browser.js +++ b/core/modules/utils/dom/browser.js @@ -135,8 +135,8 @@ Return the names of the fullscreen APIs */ exports.getFullScreenApis = function() { var d = document, - db = d.body; - return { + db = d.body, + result = { "_requestFullscreen": db.webkitRequestFullscreen !== undefined ? "webkitRequestFullscreen" : db.mozRequestFullScreen !== undefined ? "mozRequestFullScreen" : db.msRequestFullscreen !== undefined ? "msRequestFullscreen" : @@ -150,6 +150,11 @@ exports.getFullScreenApis = function() { d.msFullscreenElement !== undefined ? "msFullscreenElement" : d.fullscreenElement !== undefined ? "fullscreenElement" : "" }; + if(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement) { + return null; + } else { + return result; + } }; })();