Bug 654015 added an ABORT_IF_FALSE to be sure that we always fire PageHide on the animation controller before the document is destroyed. However, we have cases where that assertion doesn't hold up (which are almost certainly bugs, but which nonetheless trip this ABORT_IF_FALSE and keep fuzzers from progressing). e.g. bug 670324 and bug 654015 (the latter of which was the bug that added this assertion; but, had the assertion been around before that bug was filed, its testcase would've tripped it). I'm not sure what the best solution to bug 670324 is, and I don't want to commit to immediately fixing all similar bugs in the future, so I think it's best to downgrade this assertion to simply "assertion-level" rather than "abort-level". It's not a particularly scary assertion, from the perspective of the nsSMILAnimationController -- I only made it "abort-level" in the first place because I (mistakenly) thought it was a condition that could absolutely never happen.
Created attachment 549912 [details] [diff] [review] fix: s/ABORT_IF_FALSE/ASSERTION/, and add assertion in ~nsDocument This patch reduces the assertion severity, and it also adds a related assertion in ~nsDocument to catch this earlier, per bug 670324 comment 7. (The second assertion will hopefully make it more obvious that these assertion-failures will tend to to be document-show/hide issues rather than SMIL-related issues.)
Comment on attachment 549912 [details] [diff] [review] fix: s/ABORT_IF_FALSE/ASSERTION/, and add assertion in ~nsDocument r=me