Commit 619f0d90 authored by Rick Waldron waldron.rick@gmail.com's avatar Rick Waldron waldron.rick@gmail.com Committed by Dave Methvin

Guard against exceptions when clearing safeChildNodes.

Supplements #11356 and fixes unit test failures in FF 3.6.
parent e529d91c
......@@ -727,10 +727,14 @@ jQuery.extend({
// to avoid hoarding elements. Fixes #11356
if ( div ) {
div.parentNode.removeChild( div );
remove = safeChildNodes[ safeChildNodes.length - 1 ];
if ( remove && remove.parentNode ) {
remove.parentNode.removeChild( remove );
// Guard against -1 index exceptions in FF3.6
if ( safeChildNodes.length > 0 ) {
remove = safeChildNodes[ safeChildNodes.length - 1 ];
if ( remove && remove.parentNode ) {
remove.parentNode.removeChild( remove );
}
}
}
}
......
......@@ -1740,3 +1740,15 @@ test("jQuery.fragments cache expectations", function() {
equal( fragmentCacheSize(), 12, "12 entries exist in jQuery.fragments, 2" );
});
test("Guard against exceptions when clearing safeChildNodes", function() {
expect( 1 );
var div;
try {
div = jQuery("<div/><hr/><code/><b/>");
} catch(e) {}
ok( div && div.jquery, "Created nodes safely, guarded against exceptions on safeChildNodes[ -1 ]" );
});
\ No newline at end of file
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