Bug 774368 - Clear all globals during unload to avoid intermittent test_basic.html exception (can't access dead object at :0). r=jlebar

This commit is contained in:
Doug Turner 2012-07-23 09:52:05 -07:00
parent 19c695a5ca
commit 0be4c72e2a

View File

@ -13,7 +13,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=717103
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head> </head>
<body> <body onunload="unload()">
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=717103">Mozilla Bug 717103</a> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=717103">Mozilla Bug 717103</a>
<p id="display"></p> <p id="display"></p>
<div id="content" style="display: none"> <div id="content" style="display: none">
@ -22,11 +22,21 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=717103
<pre id="test"> <pre id="test">
<script class="testbody" type="text/javascript"> <script class="testbody" type="text/javascript">
function unload() {
delete gDataBlob;
gDataBlob = null;
delete gFileReader;
gFileReader = null;
}
devicestorage_setup(); devicestorage_setup();
var gFileName = "devicestorage/hi"; var gFileName = "devicestorage/hi";
var gData = "My name is Doug Turner. My IRC nick is DougT. I like Maple cookies." var gData = "My name is Doug Turner. My IRC nick is DougT. I like Maple cookies."
var gDataBlob = new Blob([gData], {type: 'text/plain'}); var gDataBlob = new Blob([gData], {type: 'text/plain'});
var gFileReader = new FileReader();
function getAfterDeleteSuccess(e) { function getAfterDeleteSuccess(e) {
ok(false, "file was deleted not successfully"); ok(false, "file was deleted not successfully");
@ -63,9 +73,8 @@ function getSuccess(e) {
var name = e.target.result.name; var name = e.target.result.name;
var reader = new FileReader(); gFileReader.readAsArrayBuffer(gDataBlob);
reader.readAsArrayBuffer(gDataBlob); gFileReader.onload = function(e) {
reader.onload = function(e) {
readerCallback(e); readerCallback(e);
request = storage[0].delete(name) request = storage[0].delete(name)