When creating an empty Document object, Safari crashes on the selectedStylesheetSet property. You only need to run the 4th test-script, to reproduce the behaviour.
Document
selectedStylesheetSet
function () { if(document.implementation&&document.implementation.createDocument) { var xmlDoc=document.implementation.createDocument('','',null); var a=[]; for(var i in xmlDoc) { a[a.length]=i; } alert(a.join(' | ')); } }
function () { if(document.implementation&&document.implementation.createDocument) { var xmlDoc=document.implementation.createDocument('','',null); var a=[]; for(var i in xmlDoc) { var itm=xmlDoc[i]; } } }
function () { if(document.implementation&&document.implementation.createDocument) { var xmlDoc=document.implementation.createDocument('','',null); var a=[]; for(var i in xmlDoc) { if(!confirm('Going to access property ['+i+']. Press Cancel to stop the loop.')) break; var itm=xmlDoc[i]; } } }
function () { if(document.implementation&&document.implementation.createDocument) { var xmlDoc=document.implementation.createDocument('','',null); var itm=xmlDoc.selectedStylesheetSet; } }