diff options
author | Dave Methvin <dave.methvin@gmail.com> | 2013-01-02 20:45:45 -0500 |
---|---|---|
committer | Dave Methvin <dave.methvin@gmail.com> | 2013-01-03 20:52:38 -0500 |
commit | aa529696fb91eaa167ed4dad9c63957b3466a45c (patch) | |
tree | 2cf78877496d617c3e9be87f275b5bbc5df03b6f | |
parent | 02d7f9aee3fbe9b568702ecc4edd664245dc8917 (diff) | |
download | jquery-aa529696fb91eaa167ed4dad9c63957b3466a45c.tar.gz jquery-aa529696fb91eaa167ed4dad9c63957b3466a45c.zip |
Remove inlineBlockNeedsLayout and shrinkWrapBlocks.
-rw-r--r-- | src/effects.js | 21 | ||||
-rw-r--r-- | src/support.js | 23 | ||||
-rw-r--r-- | test/unit/effects.js | 93 |
3 files changed, 38 insertions, 99 deletions
diff --git a/src/effects.js b/src/effects.js index 3d9ae7f4b..f4f435fd2 100644 --- a/src/effects.js +++ b/src/effects.js @@ -282,26 +282,17 @@ function defaultPrefilter( elem, props, opts ) { if ( jQuery.css( elem, "display" ) === "inline" && jQuery.css( elem, "float" ) === "none" ) { - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { - style.display = "inline-block"; - - } else { - style.zoom = 1; - } + style.display = "inline-block"; } } if ( opts.overflow ) { style.overflow = "hidden"; - if ( !jQuery.support.shrinkWrapBlocks ) { - anim.done(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } + anim.done(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); } diff --git a/src/support.js b/src/support.js index 35bf0e6f3..114c1c31b 100644 --- a/src/support.js +++ b/src/support.js @@ -38,8 +38,6 @@ jQuery.support = (function() { // Will be defined later deleteExpando: true, noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, reliableMarginRight: true, boxSizingReliable: true, pixelPosition: false @@ -139,27 +137,6 @@ jQuery.support = (function() { !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); } - if ( typeof div.style.zoom !== "undefined" ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - div.style.display = "block"; - div.innerHTML = "<div></div>"; - 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; - } - body.removeChild( container ); // Null elements to avoid leaks in IE diff --git a/test/unit/effects.js b/test/unit/effects.js index b615dfd6d..5ab1d2ac8 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -232,55 +232,29 @@ test("animate negative padding", function() { test("animate block as inline width/height", function() { expect(3); - var span = jQuery("<span>").css("display", "inline-block").appendTo("body"), - expected = span.css("display"); - - span.remove(); - - if ( jQuery.support.inlineBlockNeedsLayout || expected === "inline-block" ) { - stop(); - - jQuery("#foo").css({ display: "inline", width: "", height: "" }).animate({ width: 42, height: 42 }, 100, function() { - equal( jQuery(this).css("display"), jQuery.support.inlineBlockNeedsLayout ? "inline" : "inline-block", "inline-block was set on non-floated inline element when animating width/height" ); - equal( this.offsetWidth, 42, "width was animated" ); - equal( this.offsetHeight, 42, "height was animated" ); - start(); - }); + stop(); - // Browser doesn't support inline-block - } else { - ok( true, "Browser doesn't support inline-block" ); - ok( true, "Browser doesn't support inline-block" ); - ok( true, "Browser doesn't support inline-block" ); - } + jQuery("#foo").css({ display: "inline", width: "", height: "" }).animate({ width: 42, height: 42 }, 100, function() { + equal( jQuery(this).css("display"), "inline-block", "inline-block was set on non-floated inline element when animating width/height" ); + equal( this.offsetWidth, 42, "width was animated" ); + equal( this.offsetHeight, 42, "height was animated" ); + start(); + }); }); test("animate native inline width/height", function() { expect(3); - var span = jQuery("<span>").css("display", "inline-block").appendTo("body"), - expected = span.css("display"); - - span.remove(); - - if ( jQuery.support.inlineBlockNeedsLayout || expected === "inline-block" ) { - stop(); - jQuery("#foo").css({ display: "", width: "", height: "" }) - .append("<span>text</span>") - .children("span") - .animate({ width: 42, height: 42 }, 100, function() { - equal( jQuery(this).css("display"), "inline-block", "inline-block was set on non-floated inline element when animating width/height" ); - equal( this.offsetWidth, 42, "width was animated" ); - equal( this.offsetHeight, 42, "height was animated" ); - start(); - }); - - // Browser doesn't support inline-block - } else { - ok( true, "Browser doesn't support inline-block" ); - ok( true, "Browser doesn't support inline-block" ); - ok( true, "Browser doesn't support inline-block" ); - } + stop(); + jQuery("#foo").css({ display: "", width: "", height: "" }) + .append("<span>text</span>") + .children("span") + .animate({ width: 42, height: 42 }, 100, function() { + equal( jQuery(this).css("display"), "inline-block", "inline-block was set on non-floated inline element when animating width/height" ); + equal( this.offsetWidth, 42, "width was animated" ); + equal( this.offsetHeight, 42, "height was animated" ); + start(); + }); }); test("animate block width/height", function() { @@ -999,11 +973,10 @@ jQuery.each({ asyncTest("Effects chaining", function() { var remaining = 16, - shrinkwrap = jQuery.support.shrinkWrapBlocks, props = [ "opacity", "height", "width", "display", "overflow" ], - setup = function( name, selector, hiddenOverflow ) { + setup = function( name, selector ) { var $el = jQuery( selector ); - return $el.data( getProps( $el[0], hiddenOverflow ) ).data( "name", name ); + return $el.data( getProps( $el[0] ) ).data( "name", name ); }, assert = function() { var data = jQuery.data( this ), @@ -1017,31 +990,29 @@ asyncTest("Effects chaining", function() { start(); } }, - getProps = function( el, hiddenOverflow ) { + getProps = function( el ) { var obj = {}; jQuery.each( props, function( i, prop ) { - obj[ prop ] = prop === "overflow" && hiddenOverflow ? "hidden" : el.style[ prop ] || jQuery.css( el, prop ); + obj[ prop ] = prop === "overflow" && el.style[ prop ] || jQuery.css( el, prop ); }); return obj; }; expect( remaining ); - // We need to pass jQuery.support.shrinkWrapBlocks for all methods that - // set overflow hidden (slide* and show/hide with speed) setup( ".fadeOut().fadeIn()", "#fadein div" ).fadeOut("fast").fadeIn( "fast", assert ); setup( ".fadeIn().fadeOut()", "#fadeout div" ).fadeIn("fast").fadeOut( "fast", assert ); - setup( ".hide().show()", "#show div", shrinkwrap ).hide("fast").show( "fast", assert ); - setup( ".show().hide()", "#hide div", shrinkwrap ).show("fast").hide( "fast", assert ); - setup( ".show().hide(easing)", "#easehide div", shrinkwrap ).show("fast").hide( "fast", "linear", assert ); - setup( ".toggle().toggle() - in", "#togglein div", shrinkwrap ).toggle("fast").toggle( "fast", assert ); - setup( ".toggle().toggle() - out", "#toggleout div", shrinkwrap ).toggle("fast").toggle( "fast", assert ); - setup( ".toggle().toggle(easing) - out", "#easetoggleout div", shrinkwrap ).toggle("fast").toggle( "fast", "linear", assert ); - setup( ".slideDown().slideUp()", "#slidedown div", shrinkwrap ).slideDown("fast").slideUp( "fast", assert ); - setup( ".slideUp().slideDown()", "#slideup div", shrinkwrap ).slideUp("fast").slideDown( "fast", assert ); - setup( ".slideUp().slideDown(easing)", "#easeslideup div", shrinkwrap ).slideUp("fast").slideDown( "fast", "linear", assert ); - setup( ".slideToggle().slideToggle() - in", "#slidetogglein div", shrinkwrap ).slideToggle("fast").slideToggle( "fast", assert ); - setup( ".slideToggle().slideToggle() - out", "#slidetoggleout div", shrinkwrap ).slideToggle("fast").slideToggle( "fast", assert ); + setup( ".hide().show()", "#show div" ).hide("fast").show( "fast", assert ); + setup( ".show().hide()", "#hide div" ).show("fast").hide( "fast", assert ); + setup( ".show().hide(easing)", "#easehide div" ).show("fast").hide( "fast", "linear", assert ); + setup( ".toggle().toggle() - in", "#togglein div" ).toggle("fast").toggle( "fast", assert ); + setup( ".toggle().toggle() - out", "#toggleout div" ).toggle("fast").toggle( "fast", assert ); + setup( ".toggle().toggle(easing) - out", "#easetoggleout div" ).toggle("fast").toggle( "fast", "linear", assert ); + setup( ".slideDown().slideUp()", "#slidedown div" ).slideDown("fast").slideUp( "fast", assert ); + setup( ".slideUp().slideDown()", "#slideup div" ).slideUp("fast").slideDown( "fast", assert ); + setup( ".slideUp().slideDown(easing)", "#easeslideup div" ).slideUp("fast").slideDown( "fast", "linear", assert ); + setup( ".slideToggle().slideToggle() - in", "#slidetogglein div" ).slideToggle("fast").slideToggle( "fast", assert ); + setup( ".slideToggle().slideToggle() - out", "#slidetoggleout div" ).slideToggle("fast").slideToggle( "fast", assert ); setup( ".fadeToggle().fadeToggle() - in", "#fadetogglein div" ).fadeToggle("fast").fadeToggle( "fast", assert ); setup( ".fadeToggle().fadeToggle() - out", "#fadetoggleout div" ).fadeToggle("fast").fadeToggle( "fast", assert ); setup( ".fadeTo(0.5).fadeTo(1.0, easing)", "#fadeto div" ).fadeTo( "fast", 0.5 ).fadeTo( "fast", 1.0, "linear", assert ); |