gecko-dev/dom/indexedDB/test/browserHelpers.js
Shawn Huang 4841b5cf60 Bug 1222284 - Part 1: Replace setFinishedCallback with waitForMessage, r=btseng
setFinishedCallback() might have the same race issue as previously bug 1324163 resolved.
- testFinishedCallback will be replaced with waitForMessage() in head.js.
- testResult, and testException will be unified to testResult.
2017-07-20 15:10:24 +08:00

50 lines
849 B
JavaScript

/**
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
// testSteps is expected to be defined by the file including this file.
/* global testSteps */
var testGenerator = testSteps();
var testResult;
function runTest()
{
testGenerator.next();
}
function finishTestNow()
{
if (testGenerator) {
testGenerator.return();
testGenerator = undefined;
}
}
function finishTest()
{
setTimeout(finishTestNow, 0);
setTimeout(() => {
window.parent.postMessage(testResult, "*");
}, 0);
}
function grabEventAndContinueHandler(event)
{
testGenerator.next(event);
}
function errorHandler(event)
{
throw new Error("indexedDB error, code " + event.target.error.name);
}
function continueToNextStep()
{
SimpleTest.executeSoon(function() {
testGenerator.next();
});
}