summaryrefslogtreecommitdiffstats
path: root/dom/tests/browser/browser_bug1004814.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/browser/browser_bug1004814.js')
-rw-r--r--dom/tests/browser/browser_bug1004814.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/dom/tests/browser/browser_bug1004814.js b/dom/tests/browser/browser_bug1004814.js
new file mode 100644
index 0000000000..789709a8d7
--- /dev/null
+++ b/dom/tests/browser/browser_bug1004814.js
@@ -0,0 +1,47 @@
+/* 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 =
+ "http://example.com/browser/dom/tests/browser/test_bug1004814.html";
+
+ await BrowserTestUtils.withNewTab(TEST_URI, async aBrowser => {
+ let duration = await SpecialPowers.spawn(aBrowser, [], function (opts) {
+ 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"
+ );
+ });
+});