]> source.dussan.org Git - jquery.git/commitdiff
Support: Reduce size
authorRichard Gibson <richard.gibson@gmail.com>
Fri, 14 Feb 2014 15:05:47 +0000 (07:05 -0800)
committerRichard Gibson <richard.gibson@gmail.com>
Fri, 14 Feb 2014 15:05:47 +0000 (07:05 -0800)
Ref a7ea12a9a7c696a14455bfe4bfebf984dd329832

src/css/support.js

index 8623979e27d84e8a994a5208619f2e4ac127ea29..4a4d75c44187edb1c6ac4af580fd7589b95428fc 100644 (file)
@@ -5,9 +5,6 @@ define([
 
 (function() {
        var pixelPositionVal, boxSizingReliableVal,
-               // Support: Firefox<29, Android 2.3 (Prefixed box-sizing versions).
-               divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;" +
-                       "-moz-box-sizing:content-box;box-sizing:content-box",
                docElem = document.documentElement,
                container = document.createElement( "div" ),
                div = document.createElement( "div" );
@@ -20,17 +17,20 @@ define([
        div.cloneNode( true ).style.backgroundClip = "";
        support.clearCloneStyle = div.style.backgroundClip === "content-box";
 
-       container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;" +
-               "margin-top:1px";
+       container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
+               "position:absolute";
        container.appendChild( div );
 
        // Executing both pixelPosition & boxSizingReliable tests require only one layout
        // so they're executed at the same time to save the second computation.
        function computePixelPositionAndBoxSizingReliable() {
-               // Support: Firefox<29, Android 2.3 (Prefixed box-sizing versions).
-               div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
-                       "box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;" +
-                       "position:absolute;top:1%";
+               div.style.cssText =
+                       // Support: Firefox<29, Android 2.3
+                       // Vendor-prefix box-sizing
+                       "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
+                       "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
+                       "border:1px;padding:1px;width:4px;position:absolute";
+               div.innerHTML = "";
                docElem.appendChild( container );
 
                var divStyle = window.getComputedStyle( div, null );
@@ -40,9 +40,10 @@ define([
                docElem.removeChild( container );
        }
 
-       // Use window.getComputedStyle because jsdom on node.js will break without it.
+       // Support: node.js jsdom
+       // Don't assume that getComputedStyle is a property of the global object
        if ( window.getComputedStyle ) {
-               jQuery.extend(support, {
+               jQuery.extend( support, {
                        pixelPosition: function() {
                                // This test is executed only once but we still do memoizing
                                // since we can use the boxSizingReliable pre-computing.
@@ -64,7 +65,13 @@ define([
                                // This support function is only executed once so no memoizing is needed.
                                var ret,
                                        marginDiv = div.appendChild( document.createElement( "div" ) );
-                               marginDiv.style.cssText = div.style.cssText = divReset;
+
+                               // Reset CSS: box-sizing; display; margin; border; padding
+                               marginDiv.style.cssText = div.style.cssText =
+                                       // Support: Firefox<29, Android 2.3
+                                       // Vendor-prefix box-sizing
+                                       "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
+                                       "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
                                marginDiv.style.marginRight = marginDiv.style.width = "0";
                                div.style.width = "1px";
                                docElem.appendChild( container );
@@ -73,9 +80,6 @@ define([
 
                                docElem.removeChild( container );
 
-                               // Clean up the div for other support tests.
-                               div.innerHTML = "";
-
                                return ret;
                        }
                });