Added css hook to work around bug in WebKit computed margin-right. Fixes #3333 -...
[jquery.git] / src / css.js
index 19c6342..d6b4881 100644 (file)
@@ -240,6 +240,25 @@ if ( !jQuery.support.opacity ) {
        };
 }
 
+jQuery(function() {
+       // This hook cannot be added until DOM ready because the support test
+       // for it is not run until after DOM ready
+       if ( !jQuery.support.reliableMarginRight ) {
+               jQuery.cssHooks.marginRight = {
+                       get: function( elem, computed ) {
+                               // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+                               // Work around by temporarily setting element display to inline-block
+                               var ret = "0px",
+                                       display = elem.style.display;
+                               elem.style.display = "inline-block";
+                               ret = getComputedStyle( elem, "margin-right", "margin-right" );
+                               elem.style.display = display;
+                               return ret;
+                       }
+               }
+       }
+});
+
 if ( document.defaultView && document.defaultView.getComputedStyle ) {
        getComputedStyle = function( elem, newName, name ) {
                var ret, defaultView, computedStyle;
@@ -263,7 +282,7 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) {
 
 if ( document.documentElement.currentStyle ) {
        currentStyle = function( elem, name ) {
-               var left, 
+               var left,
                        ret = elem.currentStyle && elem.currentStyle[ name ],
                        rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ],
                        style = elem.style;