diff --git a/image/test/crashtests/ownerdiscard.html b/image/test/crashtests/ownerdiscard.html index 7af6194c32e5..4b7519d82daf 100644 --- a/image/test/crashtests/ownerdiscard.html +++ b/image/test/crashtests/ownerdiscard.html @@ -22,9 +22,7 @@ var img = document.getElementById('victim'); var observer = new ImageDecoderObserverStub(); observer.discard = function() { - SpecialPowers.clearUserPref('min_discard_timeout_ms'); - imgLoadingContent.removeObserver(gObserver); - setTimeout("document.documentElement.className = '';", 0); + cleanupAndFinish(); } observer = SpecialPowers.wrapCallbackObject(observer); var gObserver = Cc["@mozilla.org/image/tools;1"].getService(Ci.imgITools) @@ -39,10 +37,16 @@ setTimeout(function() { document.adoptNode(tCF0); }, 0); } document.addEventListener("DOMContentLoaded", initCF, false); - function finish() { - setTimeout("document.documentElement.className = '';", 30000); + + function cleanupAndFinish() { + SpecialPowers.clearUserPref('min_discard_timeout_ms'); + imgLoadingContent.removeObserver(gObserver); + setTimeout("document.documentElement.className = '';", 0); } - window.addEventListener("load", finish, false); + function loadhandler() { + setTimeout("cleanupAndFinish();", 30000); + } + window.addEventListener("load", loadhandler, false);