Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
add_task(async function () {
const TEST_URI =
await BrowserTestUtils.withNewTab(TEST_URI, async aBrowser => {
let duration = await SpecialPowers.spawn(aBrowser, [], function () {
const ConsoleAPIStorage = Cc[
"@mozilla.org/consoleAPI-storage;1"
].getService(Ci.nsIConsoleAPIStorage);
return new Promise(resolve => {
function observe(aSubject) {
var obj = aSubject.wrappedJSObject;
if (
obj.arguments.length != 1 ||
obj.arguments[0] != "bug1004814" ||
obj.level != "timeEnd"
) {
return;
}
ConsoleAPIStorage.removeLogEventListener(observe);
resolve(obj.timer.duration);
}
ConsoleAPIStorage.addLogEventListener(
observe,
Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal)
);
var w = new content.Worker("worker_bug1004814.js");
w.postMessage(true);
});
});
Assert.greater(
duration,
0,
"ConsoleEvent.timer.duration > 0: " + duration + " ~ 200ms"
);
});
});