Merge pull request #5049 from marcjansen/assume-getComputedStyle

Supported browsers all have getComputedStyle
This commit is contained in:
Marc Jansen
2016-03-16 11:30:06 +01:00

View File

@@ -36,31 +36,29 @@ ol.dom.canUseCssTransform = (function() {
if (canUseCssTransform === undefined) { if (canUseCssTransform === undefined) {
goog.asserts.assert(document.body, goog.asserts.assert(document.body,
'document.body should not be null'); 'document.body should not be null');
if (!goog.global.getComputedStyle) { goog.asserts.assert(goog.global.getComputedStyle,
// this browser is ancient 'getComputedStyle is required (unsupported browser?)');
canUseCssTransform = false;
} else {
var el = document.createElement('P'),
has2d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate(1px,1px)';
has2d = goog.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
}
document.body.removeChild(el);
canUseCssTransform = (has2d && has2d !== 'none'); var el = document.createElement('P'),
has2d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate(1px,1px)';
has2d = goog.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
} }
document.body.removeChild(el);
canUseCssTransform = (has2d && has2d !== 'none');
} }
return canUseCssTransform; return canUseCssTransform;
}; };
@@ -79,31 +77,29 @@ ol.dom.canUseCssTransform3D = (function() {
if (canUseCssTransform3D === undefined) { if (canUseCssTransform3D === undefined) {
goog.asserts.assert(document.body, goog.asserts.assert(document.body,
'document.body should not be null'); 'document.body should not be null');
if (!goog.global.getComputedStyle) { goog.asserts.assert(goog.global.getComputedStyle,
// this browser is ancient 'getComputedStyle is required (unsupported browser?)');
canUseCssTransform3D = false;
} else {
var el = document.createElement('P'),
has3d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate3d(1px,1px,1px)';
has3d = goog.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
}
document.body.removeChild(el);
canUseCssTransform3D = (has3d && has3d !== 'none'); var el = document.createElement('P'),
has3d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate3d(1px,1px,1px)';
has3d = goog.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
} }
document.body.removeChild(el);
canUseCssTransform3D = (has3d && has3d !== 'none');
} }
return canUseCssTransform3D; return canUseCssTransform3D;
}; };
@@ -196,7 +192,7 @@ ol.dom.transformElement2D = function(element, transform, opt_precision) {
*/ */
ol.dom.outerWidth = function(element) { ol.dom.outerWidth = function(element) {
var width = element.offsetWidth; var width = element.offsetWidth;
var style = element.currentStyle || window.getComputedStyle(element); var style = element.currentStyle || goog.global.getComputedStyle(element);
width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10); width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);
return width; return width;
@@ -212,7 +208,7 @@ ol.dom.outerWidth = function(element) {
*/ */
ol.dom.outerHeight = function(element) { ol.dom.outerHeight = function(element) {
var height = element.offsetHeight; var height = element.offsetHeight;
var style = element.currentStyle || window.getComputedStyle(element); var style = element.currentStyle || goog.global.getComputedStyle(element);
height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10); height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);
return height; return height;