Skip to content
Permalink
Browse files

Test for window inference. Fixes #10080

  • Loading branch information...
rwaldron committed Aug 18, 2011
1 parent f44d5e1 commit 93beee8ac0c035285ffab63a5c08cf1ac9cf2b2f
Showing with 15 additions and 2 deletions.
  1. +2 −2 src/data.js
  2. +13 −0 test/unit/data.js
@@ -191,8 +191,8 @@ jQuery.extend({
// Browsers that fail expando deletion also refuse to delete expandos on
// the window, but it will allow it on all other JS objects; other browsers
// don't care
// Ensure that this id actually exists in `cache` #10080
if ( cache[ id ] && ( jQuery.support.deleteExpando || cache != window ) ) {
// Ensure that `cache` is not a window object #10080
if ( jQuery.support.deleteExpando || !cache.setInterval ) {

This comment has been minimized.

@pomeh

pomeh Nov 4, 2011

Why not using jQuery.isWindow method here ?

This comment has been minimized.

@rwaldron

rwaldron Nov 4, 2011

Author Member

Because there is no need to add a function call to the stack

delete cache[ id ];
} else {
cache[ id ] = null;
@@ -582,3 +582,16 @@ test("jQuery.data supports interoperable removal of hyphenated/camelCase propert

});
});

// Test originally by Moschel
test("Triggering the removeData should not throw exceptions. (#10080)", function() {
expect(1);
stop();
var frame = jQuery("#loadediframe");
jQuery(frame[0].contentWindow).bind("unload", function() {
ok(true, "called unload");
start();
});
// change the url to trigger unload
frame.attr("src", "data/iframe.html?param=true");
});

0 comments on commit 93beee8

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.