From 06c505d85194890f8bacabc66895a6167b61728a Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Thu, 30 Sep 2010 11:24:59 -0700 Subject: [PATCH 1/3] Make sure setting opacity does not clobber other inline filters. Fixes #7101. --- src/css.js | 2 +- test/unit/css.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/css.js b/src/css.js index 79ae00e3..4bf818e5 100644 --- a/src/css.js +++ b/src/css.js @@ -204,7 +204,7 @@ if ( !jQuery.support.opacity ) { style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : - opacity; + style.filter + ' ' + opacity; } }; } diff --git a/test/unit/css.js b/test/unit/css.js index 8802fc00..468f7638 100644 --- a/test/unit/css.js +++ b/test/unit/css.js @@ -114,11 +114,14 @@ if(jQuery.browser.msie) { var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; var filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; + var filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; jQuery('#foo').css("filter", filterVal); equals( jQuery('#foo').css("filter"), filterVal, "css('filter', val) works" ); - jQuery('#foo').css("opacity", 1) - equals( jQuery('#foo').css("filter"), filterVal2, "Setting opacity in IE doesn't clobber other filters" ); - equals( jQuery('#foo').css("opacity"), 1, "Setting opacity in IE with other filters works" ) + jQuery('#foo').css("opacity", 1); + equals( jQuery('#foo').css("filter"), filterVal2, "Setting opacity in IE doesn't duplicate opacity filter" ); + equals( jQuery('#foo').css("opacity"), 1, "Setting opacity in IE with other filters works" ); + jQuery('#foo').css("filter", filterVal3).css("opacity", 1); + ok( jQuery('#foo').css("filter").indexOf(filterVal3) !== -1, "Setting opacity in IE doesn't clobber other filters" ); }); } From 57c046f91cbc3caf174ecc993fe883c027340901 Mon Sep 17 00:00:00 2001 From: John Resig Date: Thu, 30 Sep 2010 15:40:30 -0700 Subject: [PATCH 2/3] Tweak broken serialize tests from commit 879799fe955f01b85b59fd8a0096d415fc48df03. Thanks to @jaubourg for the catch. --- test/unit/ajax.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 61992706..85c7380d 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -362,11 +362,11 @@ test("serialize()", function() { ); equals( jQuery('#form').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3", 'Check form serialization as query string'); equals( jQuery('#form :input').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3", 'Check input serialization as query string'); equals( jQuery('#testForm').serialize(), @@ -378,7 +378,7 @@ test("serialize()", function() { 'Check input serialization as query string'); equals( jQuery('#form, #testForm').serialize(), - "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=", + "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=", 'Multiple form serialization as query string'); /* Temporarily disabled. Opera 10 has problems with form serialization. From a2aefbf3b198620ae45d2451d21cc5bf96258a7d Mon Sep 17 00:00:00 2001 From: rwldrn Date: Tue, 5 Oct 2010 10:32:57 -0400 Subject: [PATCH 3/3] Fixes acceptData defining in the global scope. --- src/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data.js b/src/data.js index 66d24c42..732e9233 100644 --- a/src/data.js +++ b/src/data.js @@ -121,7 +121,7 @@ jQuery.extend({ // A method for determining if a DOM node can handle the data expando acceptData: function( elem ) { if ( elem.nodeName ) { - match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; if ( match ) { return !(match === true || elem.getAttribute("classid") !== match);