Skip to content

Commit

Permalink
Css: Revert 24e5879
Browse files Browse the repository at this point in the history
The workaround to be able to change !important styles broke the browser
keeping the old CSS value if the new one was rejected. Patching it would
involve a significant perf hit (~33%) so the initial patch needs to be
reverted instead.

Tests by m_gol & gibson042.

Fixes #14836
Closes gh-1532
  • Loading branch information
mgol committed Mar 10, 2014
1 parent b19d4d3 commit 2c180ef
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
3 changes: 0 additions & 3 deletions src/css.js
Expand Up @@ -286,9 +286,6 @@ jQuery.extend({


// If a hook was provided, use that value, otherwise just set the specified value // If a hook was provided, use that value, otherwise just set the specified value
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
// Support: Chrome, Safari
// Setting style to blank string required to delete "style: x !important;"
style[ name ] = "";
style[ name ] = value; style[ name ] = value;
} }


Expand Down
27 changes: 20 additions & 7 deletions test/unit/css.js
Expand Up @@ -204,7 +204,7 @@ test( "css() explicit and relative values", 29, function() {
}); });


test("css(String, Object)", function() { test("css(String, Object)", function() {
expect( 19 ); expect( 20 );
var j, div, display, ret, success; var j, div, display, ret, success;


jQuery("#nothiddendiv").css("top", "-1em"); jQuery("#nothiddendiv").css("top", "-1em");
Expand Down Expand Up @@ -239,15 +239,18 @@ test("css(String, Object)", function() {
equal( ret, div, "Make sure setting undefined returns the original set." ); equal( ret, div, "Make sure setting undefined returns the original set." );
equal( div.css("display"), display, "Make sure that the display wasn't changed." ); equal( div.css("display"), display, "Make sure that the display wasn't changed." );


// Test for Bug #5509
success = true; success = true;
try { try {
jQuery("#foo").css("backgroundColor", "rgba(0, 0, 0, 0.1)"); jQuery( "#foo" ).css( "backgroundColor", "rgba(0, 0, 0, 0.1)" );
} }
catch (e) { catch (e) {
success = false; success = false;
} }
ok( success, "Setting RGBA values does not throw Error" ); ok( success, "Setting RGBA values does not throw Error (#5509)" );

jQuery( "#foo" ).css( "font", "7px/21px sans-serif" );
strictEqual( jQuery( "#foo" ).css( "line-height" ), "21px",
"Set font shorthand property (#14759)" );
}); });


test( "css(Array)", function() { test( "css(Array)", function() {
Expand Down Expand Up @@ -923,10 +926,20 @@ test( ":visible/:hidden selectors", function() {
t( "Is Hidden", "#form input:hidden", ["hidden1","hidden2"] ); t( "Is Hidden", "#form input:hidden", ["hidden1","hidden2"] );
}); });


test( "Override !important when changing styles (#14394)", function() { test( "Keep the last style if the new one isn't recognized by the browser (#14836)", function() {
expect( 2 );

var el;
el = jQuery( "<div></div>" ).css( "color", "black" ).css( "color", "fake value" );
equal( el.css( "color" ), "black", "The old style is kept when setting an unrecognized value" );
el = jQuery( "<div></div>" ).css( "color", "black" ).css( "color", " " );
equal( el.css( "color" ), "black", "The old style is kept when setting to a space" );
});

test( "Reset the style if set to an empty string", function() {
expect( 1 ); expect( 1 );
var el = jQuery( "<div style='display: block !important;'></div>" ).css( "display", "none" ); var el = jQuery( "<div></div>" ).css( "color", "black" ).css( "color", "" );
equal( el.css( "display" ), "none", "New style replaced !important" ); equal( el.css( "color" ), "", "The style can be reset by setting to an empty string" );
}); });


asyncTest( "Clearing a Cloned Element's Style Shouldn't Clear the Original Element's Style (#8908)", 24, function() { asyncTest( "Clearing a Cloned Element's Style Shouldn't Clear the Original Element's Style (#8908)", 24, function() {
Expand Down

0 comments on commit 2c180ef

Please sign in to comment.