mirror of
https://github.com/jquery/jquery.git
synced 2026-04-20 03:01:22 -04:00
Guard against exceptions when clearing safeChildNodes.
Supplements #11356 and fixes unit test failures in FF 3.6.
This commit is contained in:
committed by
Dave Methvin
parent
e529d91ccd
commit
619f0d908a
@@ -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 ]" );
|
||||
});
|
||||
Reference in New Issue
Block a user