From 219a1935eea509bf147a05ef9d47502d8230991d Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Sun, 3 Feb 2013 13:54:38 -0500 Subject: [PATCH] Fix #13089. Only apply zoom to IE6/7 body. --- src/support.js | 9 ++++++--- test/unit/support.js | 9 +++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/support.js b/src/support.js index 6e755b55d..d955bf0c1 100644 --- a/src/support.js +++ b/src/support.js @@ -219,9 +219,12 @@ jQuery.support = (function() { div.firstChild.style.width = "5px"; support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - body.style.zoom = 1; + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } } body.removeChild( container ); diff --git a/test/unit/support.js b/test/unit/support.js index 356751d22..60a658261 100644 --- a/test/unit/support.js +++ b/test/unit/support.js @@ -6,6 +6,15 @@ test("boxModel", function() { equal( jQuery.support.boxModel, document.compatMode === "CSS1Compat" , "jQuery.support.boxModel is sort of tied to quirks mode but unstable since 1.8" ); }); +test( "zoom of doom (#13089)", function() { + expect( 1 ); + + if ( jQuery.support.inlineBlockNeedsLayout ) { + ok( document.body.style.zoom, "Added a zoom to the body (#11048, #12869)" ); + } else { + ok( !document.body.style.zoom, "No zoom added to the body" ); + } +}); if ( jQuery.css ) { testIframeWithCallback( "body background is not lost if set prior to loading jQuery (#9239)", "support/bodyBackground.html", function( color, support ) { expect( 2 );