Commit aa529696 authored by Dave Methvin's avatar Dave Methvin

Remove inlineBlockNeedsLayout and shrinkWrapBlocks.

parent 02d7f9ae
...@@ -282,26 +282,17 @@ function defaultPrefilter( elem, props, opts ) { ...@@ -282,26 +282,17 @@ function defaultPrefilter( elem, props, opts ) {
if ( jQuery.css( elem, "display" ) === "inline" && if ( jQuery.css( elem, "display" ) === "inline" &&
jQuery.css( elem, "float" ) === "none" ) { jQuery.css( elem, "float" ) === "none" ) {
// inline-level elements accept inline-block; style.display = "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;
}
} }
} }
if ( opts.overflow ) { if ( opts.overflow ) {
style.overflow = "hidden"; style.overflow = "hidden";
if ( !jQuery.support.shrinkWrapBlocks ) { anim.done(function() {
anim.done(function() { style.overflow = opts.overflow[ 0 ];
style.overflow = opts.overflow[ 0 ]; style.overflowX = opts.overflow[ 1 ];
style.overflowX = opts.overflow[ 1 ]; style.overflowY = opts.overflow[ 2 ];
style.overflowY = opts.overflow[ 2 ]; });
});
}
} }
......
...@@ -38,8 +38,6 @@ jQuery.support = (function() { ...@@ -38,8 +38,6 @@ jQuery.support = (function() {
// Will be defined later // Will be defined later
deleteExpando: true, deleteExpando: true,
noCloneEvent: true, noCloneEvent: true,
inlineBlockNeedsLayout: false,
shrinkWrapBlocks: false,
reliableMarginRight: true, reliableMarginRight: true,
boxSizingReliable: true, boxSizingReliable: true,
pixelPosition: false pixelPosition: false
...@@ -139,27 +137,6 @@ jQuery.support = (function() { ...@@ -139,27 +137,6 @@ jQuery.support = (function() {
!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); !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 ); body.removeChild( container );
// Null elements to avoid leaks in IE // Null elements to avoid leaks in IE
......
...@@ -232,55 +232,29 @@ test("animate negative padding", function() { ...@@ -232,55 +232,29 @@ test("animate negative padding", function() {
test("animate block as inline width/height", function() { test("animate block as inline width/height", function() {
expect(3); expect(3);
var span = jQuery("<span>").css("display", "inline-block").appendTo("body"), stop();
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();
});
// Browser doesn't support inline-block jQuery("#foo").css({ display: "inline", width: "", height: "" }).animate({ width: 42, height: 42 }, 100, function() {
} else { equal( jQuery(this).css("display"), "inline-block", "inline-block was set on non-floated inline element when animating width/height" );
ok( true, "Browser doesn't support inline-block" ); equal( this.offsetWidth, 42, "width was animated" );
ok( true, "Browser doesn't support inline-block" ); equal( this.offsetHeight, 42, "height was animated" );
ok( true, "Browser doesn't support inline-block" ); start();
} });
}); });
test("animate native inline width/height", function() { test("animate native inline width/height", function() {
expect(3); expect(3);
var span = jQuery("<span>").css("display", "inline-block").appendTo("body"), stop();
expected = span.css("display"); jQuery("#foo").css({ display: "", width: "", height: "" })
.append("<span>text</span>")
span.remove(); .children("span")
.animate({ width: 42, height: 42 }, 100, function() {
if ( jQuery.support.inlineBlockNeedsLayout || expected === "inline-block" ) { equal( jQuery(this).css("display"), "inline-block", "inline-block was set on non-floated inline element when animating width/height" );
stop(); equal( this.offsetWidth, 42, "width was animated" );
jQuery("#foo").css({ display: "", width: "", height: "" }) equal( this.offsetHeight, 42, "height was animated" );
.append("<span>text</span>") start();
.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" );
}
}); });
test("animate block width/height", function() { test("animate block width/height", function() {
...@@ -999,11 +973,10 @@ jQuery.each({ ...@@ -999,11 +973,10 @@ jQuery.each({
asyncTest("Effects chaining", function() { asyncTest("Effects chaining", function() {
var remaining = 16, var remaining = 16,
shrinkwrap = jQuery.support.shrinkWrapBlocks,
props = [ "opacity", "height", "width", "display", "overflow" ], props = [ "opacity", "height", "width", "display", "overflow" ],
setup = function( name, selector, hiddenOverflow ) { setup = function( name, selector ) {
var $el = jQuery( 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() { assert = function() {
var data = jQuery.data( this ), var data = jQuery.data( this ),
...@@ -1017,31 +990,29 @@ asyncTest("Effects chaining", function() { ...@@ -1017,31 +990,29 @@ asyncTest("Effects chaining", function() {
start(); start();
} }
}, },
getProps = function( el, hiddenOverflow ) { getProps = function( el ) {
var obj = {}; var obj = {};
jQuery.each( props, function( i, prop ) { 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; return obj;
}; };
expect( remaining ); 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( ".fadeOut().fadeIn()", "#fadein div" ).fadeOut("fast").fadeIn( "fast", assert );
setup( ".fadeIn().fadeOut()", "#fadeout div" ).fadeIn("fast").fadeOut( "fast", assert ); setup( ".fadeIn().fadeOut()", "#fadeout div" ).fadeIn("fast").fadeOut( "fast", assert );
setup( ".hide().show()", "#show div", shrinkwrap ).hide("fast").show( "fast", assert ); setup( ".hide().show()", "#show div" ).hide("fast").show( "fast", assert );
setup( ".show().hide()", "#hide div", shrinkwrap ).show("fast").hide( "fast", assert ); setup( ".show().hide()", "#hide div" ).show("fast").hide( "fast", assert );
setup( ".show().hide(easing)", "#easehide div", shrinkwrap ).show("fast").hide( "fast", "linear", assert ); setup( ".show().hide(easing)", "#easehide div" ).show("fast").hide( "fast", "linear", assert );
setup( ".toggle().toggle() - in", "#togglein div", shrinkwrap ).toggle("fast").toggle( "fast", assert ); setup( ".toggle().toggle() - in", "#togglein div" ).toggle("fast").toggle( "fast", assert );
setup( ".toggle().toggle() - out", "#toggleout div", shrinkwrap ).toggle("fast").toggle( "fast", assert ); setup( ".toggle().toggle() - out", "#toggleout div" ).toggle("fast").toggle( "fast", assert );
setup( ".toggle().toggle(easing) - out", "#easetoggleout div", shrinkwrap ).toggle("fast").toggle( "fast", "linear", assert ); setup( ".toggle().toggle(easing) - out", "#easetoggleout div" ).toggle("fast").toggle( "fast", "linear", assert );
setup( ".slideDown().slideUp()", "#slidedown div", shrinkwrap ).slideDown("fast").slideUp( "fast", assert ); setup( ".slideDown().slideUp()", "#slidedown div" ).slideDown("fast").slideUp( "fast", assert );
setup( ".slideUp().slideDown()", "#slideup div", shrinkwrap ).slideUp("fast").slideDown( "fast", assert ); setup( ".slideUp().slideDown()", "#slideup div" ).slideUp("fast").slideDown( "fast", assert );
setup( ".slideUp().slideDown(easing)", "#easeslideup div", shrinkwrap ).slideUp("fast").slideDown( "fast", "linear", assert ); setup( ".slideUp().slideDown(easing)", "#easeslideup div" ).slideUp("fast").slideDown( "fast", "linear", assert );
setup( ".slideToggle().slideToggle() - in", "#slidetogglein div", shrinkwrap ).slideToggle("fast").slideToggle( "fast", assert ); setup( ".slideToggle().slideToggle() - in", "#slidetogglein div" ).slideToggle("fast").slideToggle( "fast", assert );
setup( ".slideToggle().slideToggle() - out", "#slidetoggleout div", shrinkwrap ).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() - in", "#fadetogglein div" ).fadeToggle("fast").fadeToggle( "fast", assert );
setup( ".fadeToggle().fadeToggle() - out", "#fadetoggleout 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 ); setup( ".fadeTo(0.5).fadeTo(1.0, easing)", "#fadeto div" ).fadeTo( "fast", 0.5 ).fadeTo( "fast", 1.0, "linear", assert );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment