diff options
author | Michał Gołębiowski <m.goleb@gmail.com> | 2014-03-04 23:49:09 +0100 |
---|---|---|
committer | Michał Gołębiowski <m.goleb@gmail.com> | 2014-03-10 19:25:25 +0100 |
commit | b5050dc4895c0c5e132f1192cd9f8617267347cb (patch) | |
tree | d10251031144689b23146d63e386e25535547723 | |
parent | 4a6d1631eaae2c5b89dfe58728b46a8997daba48 (diff) | |
download | jquery-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.js | 4 | ||||
-rw-r--r-- | src/css/support.js | 20 | ||||
-rw-r--r-- | test/data/support/boxSizing.html | 19 | ||||
-rw-r--r-- | test/unit/support.js | 5 |
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" ); |