Created attachment 353142 [details] testcase Loading the testcase triggers: ###!!! ASSERTION: Too many calls to ScriptDidExecute: 'mScriptsExecuting > 0', file /Users/jruderman/central/parser/htmlparser/src/nsParser.cpp, line 1810 The assertion was added in bug 444322, and <script defer> was added in bug 28293. Bug 461555 will change the behavior of this testcase. (In fact, the testcases for that bug also trigger this assertion.) Will bug 461555 fix this bug?
Yes, this happens because when we start processing deffered scripts, there is no parser; then the document.write() causes a parser to be created and that parser only ever sees the ScriptDidExecute call. When bug 461555 lands, the original parser will still be alive when we execute deferred scripts.
WFM. I'm guessing this was fixed by bug 461555 or bug 483818.
Yeah, those two together fixes this. In two ways.