aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2014-03-04 23:49:09 +0100
committerMichał Gołębiowski <m.goleb@gmail.com>2014-03-10 19:25:25 +0100
commitb5050dc4895c0c5e132f1192cd9f8617267347cb (patch)
treed10251031144689b23146d63e386e25535547723
parent4a6d1631eaae2c5b89dfe58728b46a8997daba48 (diff)
downloadjquery-b5050dc4895c0c5e132f1192cd9f8617267347cb.tar.gz
jquery-b5050dc4895c0c5e132f1192cd9f8617267347cb.zip
Support: Simplify the box-sizing test
Don't require body in the support.boxSizing test.
-rw-r--r--src/css.js4
-rw-r--r--src/css/support.js20
-rw-r--r--test/data/support/boxSizing.html19
-rw-r--r--test/unit/support.js5
4 files changed, 8 insertions, 40 deletions
diff --git a/src/css.js b/src/css.js
index afebceb12..dcca4e953 100644
--- a/src/css.js
+++ b/src/css.js
@@ -171,7 +171,7 @@ function getWidthOrHeight( elem, name, extra ) {
var valueIsBorderBox = true,
val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
styles = getStyles( elem ),
- isBorderBox = support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+ isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// some non-html elements return undefined for offsetWidth, so check for null/undefined
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
@@ -366,7 +366,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
elem,
name,
extra,
- support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
styles
) : 0
);
diff --git a/src/css/support.js b/src/css/support.js
index 07a2a7f48..1078c0905 100644
--- a/src/css/support.js
+++ b/src/css/support.js
@@ -5,7 +5,7 @@ define([
(function() {
// Minified: var b,c,d,e,f,g, h,i
- var div, style, a, pixelPositionVal, boxSizingVal, boxSizingReliableVal,
+ var div, style, a, pixelPositionVal, boxSizingReliableVal,
reliableHiddenOffsetsVal, reliableMarginRightVal;
// Setup
@@ -33,6 +33,11 @@ define([
div.cloneNode( true ).style.backgroundClip = "";
support.clearCloneStyle = div.style.backgroundClip === "content-box";
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" ||
+ style.WebkitBoxSizing === "";
+
jQuery.extend(support, {
reliableHiddenOffsets: function() {
if ( reliableHiddenOffsetsVal == null ) {
@@ -41,13 +46,6 @@ define([
return reliableHiddenOffsetsVal;
},
- boxSizing: function() {
- if ( boxSizingVal == null ) {
- computeStyleTests();
- }
- return boxSizingVal;
- },
-
boxSizingReliable: function() {
if ( boxSizingReliableVal == null ) {
computeStyleTests();
@@ -94,12 +92,6 @@ define([
"box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
"border:1px;padding:1px;width:4px;position:absolute";
- // Workaround failing boxSizing test due to offsetWidth returning wrong value
- // with some non-1 values of body zoom, ticket #13543
- jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() {
- boxSizingVal = div.offsetWidth === 4;
- });
-
// Support: IE<9
// Assume reasonable values in the absence of getComputedStyle
pixelPositionVal = false;
diff --git a/test/data/support/boxSizing.html b/test/data/support/boxSizing.html
deleted file mode 100644
index d73396f96..000000000
--- a/test/data/support/boxSizing.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <style>
- body {
- zoom: 0.87;
- }
- </style>
-</head>
-<body>
-<script src="../../jquery.js"></script>
-<script>
- jQuery(function() {
- window.parent.iframeCallback( jQuery.support.boxSizing() );
- });
-</script>
-</body>
-</html>
diff --git a/test/unit/support.js b/test/unit/support.js
index f74bee5a6..6089d9bd6 100644
--- a/test/unit/support.js
+++ b/test/unit/support.js
@@ -45,11 +45,6 @@ if ( jQuery.css ) {
});
}
-testIframeWithCallback( "A non-1 zoom on body doesn't cause WebKit to fail box-sizing test", "support/boxSizing.html", function( boxSizing ) {
- expect( 1 );
- equal( boxSizing, computedSupport.boxSizing, "box-sizing properly detected on page with non-1 body zoom" );
-});
-
testIframeWithCallback( "A background on the testElement does not cause IE8 to crash (#9823)", "support/testElementCrash.html", function() {
expect( 1 );
ok( true, "IE8 does not crash" );