Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Landing pull request 562. Make sure runtimeStyle isn't affected by di…
- Loading branch information
Showing
with
26 additions
and
2 deletions.
-
+3
−2
src/css.js
-
+23
−0
test/unit/dimensions.js
|
@@ -285,9 +285,8 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) { |
|
|
|
|
|
if ( document.documentElement.currentStyle ) { |
|
|
currentStyle = function( elem, name ) { |
|
|
var left, |
|
|
var left, rsLeft, |
|
|
ret = elem.currentStyle && elem.currentStyle[ name ], |
|
|
rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ], |
|
|
style = elem.style; |
|
|
|
|
|
if ( ret === null && style ) { |
|
@@ -300,8 +299,10 @@ if ( document.documentElement.currentStyle ) { |
|
|
// If we're not dealing with a regular pixel number |
|
|
// but a number that has a weird ending, we need to convert it to pixels |
|
|
if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { |
|
|
|
|
|
// Remember the original values |
|
|
left = style.left; |
|
|
rsLeft = elem.runtimeStyle && elem.runtimeStyle.left; |
|
|
|
|
|
// Put in the new values to get a computed value out |
|
|
if ( rsLeft ) { |
|
|
|
@@ -245,6 +245,29 @@ test("child of a hidden elem has accurate inner/outer/Width()/Height() see #944 |
|
|
$divNormal.remove(); |
|
|
}); |
|
|
|
|
|
test("getting dimensions shouldnt modify runtimeStyle see #9233", function() { |
|
|
expect( 1 ); |
|
|
|
|
|
var $div = jQuery( "<div>" ).appendTo( "#qunit-fixture" ), |
|
|
div = $div.get( 0 ), |
|
|
runtimeStyle = div.runtimeStyle; |
|
|
|
|
|
if ( runtimeStyle ) { |
|
|
div.runtimeStyle.marginLeft = "12em"; |
|
|
div.runtimeStyle.left = "11em"; |
|
|
} |
|
|
|
|
|
$div.outerWidth( true ); |
|
|
|
|
|
if ( runtimeStyle ) { |
|
|
equal( div.runtimeStyle.left, "11em", "getting dimensions modifies runtimeStyle, see #9233" ); |
|
|
} else { |
|
|
ok( true, "this browser doesnt support runtimeStyle, see #9233" ); |
|
|
} |
|
|
|
|
|
$div.remove(); |
|
|
}); |
|
|
|
|
|
test("outerHeight()", function() { |
|
|
expect(11); |
|
|
|
|
|