]> source.dussan.org Git - jquery.git/commitdiff
Support: Simplify the box-sizing test 1529/head
authorMichał Gołębiowski <m.goleb@gmail.com>
Tue, 4 Mar 2014 22:49:09 +0000 (23:49 +0100)
committerMichał Gołębiowski <m.goleb@gmail.com>
Mon, 10 Mar 2014 18:25:25 +0000 (19:25 +0100)
Don't require body in the support.boxSizing test.

src/css.js
src/css/support.js
test/data/support/boxSizing.html [deleted file]
test/unit/support.js

index afebceb12960051e8841d1d171028ca93671e41a..dcca4e953d8e500d2bde2f8965cb4c89e6f5a2f1 100644 (file)
@@ -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
                        );
index 07a2a7f48e3408fe2224e6937405e094eb333f45..1078c0905f4987fd193eb7429d70b5121b560cc8 100644 (file)
@@ -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 (file)
index d73396f..0000000
+++ /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>
index f74bee5a68198e729dafe1edcaa9cb366e8cb074..6089d9bd6aeb98c73fdc4f9af315e4852901ce09 100644 (file)
@@ -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" );