From 5a940c207a0fd81562b491e3f2e3bfdd974d3592 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Wed, 26 Feb 2014 14:40:04 +0100 Subject: [PATCH] Add ol.BrowserFeature.HAS_FULLSCREEN constant --- src/ol/browserfeature.exports | 1 + src/ol/browserfeature.js | 10 ++++++++++ src/ol/control/fullscreencontrol.js | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/ol/browserfeature.exports b/src/ol/browserfeature.exports index 832c611d89..8d658e63e0 100644 --- a/src/ol/browserfeature.exports +++ b/src/ol/browserfeature.exports @@ -3,5 +3,6 @@ @exportProperty ol.BrowserFeature.HAS_CANVAS @exportProperty ol.BrowserFeature.HAS_DEVICE_ORIENTATION @exportProperty ol.BrowserFeature.HAS_GEOLOCATION +@exportProperty ol.BrowserFeature.HAS_FULLSCREEN @exportProperty ol.BrowserFeature.HAS_TOUCH @exportProperty ol.BrowserFeature.HAS_WEBGL diff --git a/src/ol/browserfeature.js b/src/ol/browserfeature.js index 265ba06fdd..423fb93fa0 100644 --- a/src/ol/browserfeature.js +++ b/src/ol/browserfeature.js @@ -2,6 +2,7 @@ goog.provide('ol.BrowserFeature'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); +goog.require('goog.dom.fullscreen'); goog.require('goog.userAgent'); goog.require('ol.webgl'); @@ -141,6 +142,15 @@ ol.BrowserFeature.HAS_DEVICE_ORIENTATION = ol.BrowserFeature.HAS_DOM = ol.ENABLE_DOM; +/** + * True if browser supports the fullscreen API. + * @const + * @type {boolean} + * @todo stability experimental + */ +ol.BrowserFeature.HAS_FULLSCREEN = goog.dom.fullscreen.isSupported(); + + /** * Is HTML5 geolocation supported in the current browser? * @const diff --git a/src/ol/control/fullscreencontrol.js b/src/ol/control/fullscreencontrol.js index 121186d641..8ce034cc08 100644 --- a/src/ol/control/fullscreencontrol.js +++ b/src/ol/control/fullscreencontrol.js @@ -8,6 +8,7 @@ goog.require('goog.dom.fullscreen'); goog.require('goog.dom.fullscreen.EventType'); goog.require('goog.events'); goog.require('goog.events.EventType'); +goog.require('ol.BrowserFeature'); goog.require('ol.control.Control'); goog.require('ol.css'); @@ -64,7 +65,7 @@ ol.control.FullScreen = function(opt_options) { var element = goog.dom.createDom(goog.dom.TagName.DIV, { 'class': this.cssClassName_ + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' + - (!goog.dom.fullscreen.isSupported() ? ol.css.CLASS_UNSUPPORTED : '') + (!ol.BrowserFeature.HAS_FULLSCREEN ? ol.css.CLASS_UNSUPPORTED : '') }, button); goog.base(this, { @@ -87,7 +88,7 @@ goog.inherits(ol.control.FullScreen, ol.control.Control); * @private */ ol.control.FullScreen.prototype.handleClick_ = function(browserEvent) { - if (!goog.dom.fullscreen.isSupported()) { + if (!ol.BrowserFeature.HAS_FULLSCREEN) { return; } browserEvent.preventDefault();