Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Make sure that expando properties aren't set on embed, applet, or obj…

…ect elements. An uncatchable exception is thrown and we must avoid it. Fixes #1675 and #2349.
  • Loading branch information...
commit 59802928566b6be3a66d65e77c2418fff37e6f5f 1 parent 7d36ccf
John Resig jeresig authored
Showing with 17 additions and 1 deletion.
  1. +16 −0 src/data.js
  2. +1 −1  src/manipulation.js
16 src/data.js
View
@@ -6,7 +6,19 @@ jQuery.extend({
expando:expando,
+ // The following elements throw uncatchable exceptions if you
+ // attempt to add expando properties to them.
+ noData: {
+ "embed": true,
+ "object": true,
+ "applet": true
+ },
+
data: function( elem, name, data ) {
+ if ( jQuery.noData[elem.nodeNode.toLowerCase()] ) {
+ return;
+ }
+
elem = elem == window ?
windowData :
elem;
@@ -43,6 +55,10 @@ jQuery.extend({
},
removeData: function( elem, name ) {
+ if ( jQuery.noData[elem.nodeNode.toLowerCase()] ) {
+ return;
+ }
+
elem = elem == window ?
windowData :
elem;
2  src/manipulation.js
View
@@ -463,7 +463,7 @@ jQuery.extend({
function cleanData( elems ) {
for ( var i = 0, elem, id; (elem = elems[i]) != null; i++ ) {
- if ( (id = elem[expando]) ) {
+ if ( !jQuery.noData[elem.nodeNode.toLowerCase()] && (id = elem[expando]) ) {
delete jQuery.cache[ id ];
}
}

1 comment on commit 5980292

John Resig

Fixed obvious dumb-ness in ed93204.

Please sign in to comment.
Something went wrong with that request. Please try again.