From 42a2f7aab90d186f5ebcedd9cc072c306785d037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 18 Dec 2013 08:22:59 +0100 Subject: [PATCH] Add ol.BrowserFeature.HAS_CANVAS --- src/ol/browserfeature.exports | 3 ++- src/ol/browserfeature.js | 24 +++++++++++++++++++++ src/ol/canvas/canvas.js | 27 ------------------------ src/ol/renderer/canvas/canvasrenderer.js | 4 ++-- 4 files changed, 28 insertions(+), 30 deletions(-) delete mode 100644 src/ol/canvas/canvas.js diff --git a/src/ol/browserfeature.exports b/src/ol/browserfeature.exports index ce7d6c8f13..832c611d89 100644 --- a/src/ol/browserfeature.exports +++ b/src/ol/browserfeature.exports @@ -1,6 +1,7 @@ @exportSymbol ol.BrowserFeature @exportProperty ol.BrowserFeature.DEVICE_PIXEL_RATIO -@exportProperty ol.BrowserFeature.HAS_TOUCH +@exportProperty ol.BrowserFeature.HAS_CANVAS @exportProperty ol.BrowserFeature.HAS_DEVICE_ORIENTATION @exportProperty ol.BrowserFeature.HAS_GEOLOCATION +@exportProperty ol.BrowserFeature.HAS_TOUCH @exportProperty ol.BrowserFeature.HAS_WEBGL diff --git a/src/ol/browserfeature.js b/src/ol/browserfeature.js index a3ae7d6eb5..54d84852d5 100644 --- a/src/ol/browserfeature.js +++ b/src/ol/browserfeature.js @@ -21,6 +21,30 @@ ol.ASSUME_TOUCH = false; ol.BrowserFeature.DEVICE_PIXEL_RATIO = goog.global.devicePixelRatio || 1; +/** + * True if browser supports Canvas. + * @const + * @type {boolean} + * @todo stability experimental + */ +ol.BrowserFeature.HAS_CANVAS = ( + /** + * @return {boolean} Canvas supported. + */ + function() { + if (!('HTMLCanvasElement' in goog.global)) { + return false; + } + try { + var canvas = /** @type {HTMLCanvasElement} */ + (goog.dom.createElement(goog.dom.TagName.CANVAS)); + return !goog.isNull(canvas.getContext('2d')); + } catch (e) { + return false; + } + })(); + + /** * Indicates if DeviceOrientation is supported in the user's browser. * @const diff --git a/src/ol/canvas/canvas.js b/src/ol/canvas/canvas.js deleted file mode 100644 index 99bcd99217..0000000000 --- a/src/ol/canvas/canvas.js +++ /dev/null @@ -1,27 +0,0 @@ -goog.provide('ol.canvas'); - -goog.require('goog.dom'); -goog.require('goog.dom.TagName'); - - -/** - * Is supported. - * @const - * @type {boolean} - */ -ol.canvas.SUPPORTED = ( - /** - * @return {boolean} Canvas supported. - */ - function() { - if (!('HTMLCanvasElement' in goog.global)) { - return false; - } - try { - var canvas = /** @type {HTMLCanvasElement} */ - (goog.dom.createElement(goog.dom.TagName.CANVAS)); - return !goog.isNull(canvas.getContext('2d')); - } catch (e) { - return false; - } - })(); diff --git a/src/ol/renderer/canvas/canvasrenderer.js b/src/ol/renderer/canvas/canvasrenderer.js index 705283e37f..3bdb8b5ef7 100644 --- a/src/ol/renderer/canvas/canvasrenderer.js +++ b/src/ol/renderer/canvas/canvasrenderer.js @@ -1,6 +1,6 @@ goog.provide('ol.renderer.canvas'); -goog.require('ol.canvas'); +goog.require('ol.BrowserFeature'); /** @@ -8,4 +8,4 @@ goog.require('ol.canvas'); * @const * @type {boolean} */ -ol.renderer.canvas.SUPPORTED = ol.canvas.SUPPORTED; +ol.renderer.canvas.SUPPORTED = ol.BrowserFeature.HAS_CANVAS;