blob: 473f02ccc8cd2dc371469416b943170bf5191f25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that network requests from chrome don't cause the Web Console to
// throw exceptions.
"use strict";
const TEST_URI = "http://example.com/";
var good = true;
var listener = {
QueryInterface: XPCOMUtils.generateQI([ Ci.nsIObserver ]),
observe: function (subject) {
if (subject instanceof Ci.nsIScriptError &&
subject.category === "XPConnect JavaScript" &&
subject.sourceName.includes("webconsole")) {
good = false;
}
}
};
var xhr;
function test() {
Services.console.registerListener(listener);
// trigger a lazy-load of the HUD Service
HUDService;
xhr = new XMLHttpRequest();
xhr.addEventListener("load", xhrComplete, false);
xhr.open("GET", TEST_URI, true);
xhr.send(null);
}
function xhrComplete() {
xhr.removeEventListener("load", xhrComplete, false);
window.setTimeout(checkForException, 0);
}
function checkForException() {
ok(good, "no exception was thrown when sending a network request from a " +
"chrome window");
Services.console.unregisterListener(listener);
listener = xhr = null;
finishTest();
}
|