From: Richard Gibson Date: Fri, 14 Feb 2014 15:05:47 +0000 (-0800) Subject: Support: Reduce size X-Git-Tag: 2.1.1-beta1~45 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=954966e08d26bf29700711dc4d7b56198350e862;p=jquery.git Support: Reduce size Ref a7ea12a9a7c696a14455bfe4bfebf984dd329832 --- diff --git a/src/css/support.js b/src/css/support.js index 8623979e2..4a4d75c44 100644 --- a/src/css/support.js +++ b/src/css/support.js @@ -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; } });