Properly cache the css transform support result

This commit is contained in:
ahocevar
2014-02-15 17:37:37 +01:00
parent 81f7ea106b
commit 91a736954d

View File

@@ -26,15 +26,15 @@ ol.dom.BrowserFeature = {
* http://caniuse.com/#feat=transforms2d * http://caniuse.com/#feat=transforms2d
* @return {boolean} * @return {boolean}
*/ */
ol.dom.canUseCssTransform = function() { ol.dom.canUseCssTransform = (function() {
goog.asserts.assert(!goog.isNull(document.body));
var canUseCssTransform; var canUseCssTransform;
return function() {
if (!goog.isDef(canUseCssTransform)) { if (!goog.isDef(canUseCssTransform)) {
canUseCssTransform = (function() { goog.asserts.assert(!goog.isNull(document.body));
if (!goog.global.getComputedStyle) { if (!goog.global.getComputedStyle) {
// this browser is ancient // this browser is ancient
return false; canUseCssTransform = false;
} } else {
var el = goog.dom.createElement(goog.dom.TagName.P), var el = goog.dom.createElement(goog.dom.TagName.P),
has2d, has2d,
transforms = { transforms = {
@@ -54,12 +54,13 @@ ol.dom.canUseCssTransform = function() {
} }
goog.dom.removeNode(el); goog.dom.removeNode(el);
return (goog.isDefAndNotNull(has2d) && has2d.length > 0 && canUseCssTransform = (goog.isDefAndNotNull(has2d) && has2d.length > 0 &&
has2d !== 'none'); has2d !== 'none');
}()); }
} }
return canUseCssTransform; return canUseCssTransform;
}; };
}());
/** /**
@@ -68,15 +69,15 @@ ol.dom.canUseCssTransform = function() {
* http://caniuse.com/#feat=transforms3d * http://caniuse.com/#feat=transforms3d
* @return {boolean} * @return {boolean}
*/ */
ol.dom.canUseCssTransform3D = function() { ol.dom.canUseCssTransform3D = (function() {
goog.asserts.assert(!goog.isNull(document.body));
var canUseCssTransform3D; var canUseCssTransform3D;
return function() {
if (!goog.isDef(canUseCssTransform3D)) { if (!goog.isDef(canUseCssTransform3D)) {
canUseCssTransform3D = (function() { goog.asserts.assert(!goog.isNull(document.body));
if (!goog.global.getComputedStyle) { if (!goog.global.getComputedStyle) {
// this browser is ancient // this browser is ancient
return false; canUseCssTransform3D = false;
} } else {
var el = goog.dom.createElement(goog.dom.TagName.P), var el = goog.dom.createElement(goog.dom.TagName.P),
has3d, has3d,
transforms = { transforms = {
@@ -96,12 +97,13 @@ ol.dom.canUseCssTransform3D = function() {
} }
goog.dom.removeNode(el); goog.dom.removeNode(el);
return (goog.isDefAndNotNull(has3d) && has3d.length > 0 && canUseCssTransform3D = (goog.isDefAndNotNull(has3d) &&
has3d !== 'none'); has3d.length > 0 && has3d !== 'none');
}()); }
} }
return canUseCssTransform3D; return canUseCssTransform3D;
}; };
}());
/** /**