summaryrefslogtreecommitdiffstats
path: root/dom/xml/test/file_bug392338.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xml/test/file_bug392338.js')
-rw-r--r--dom/xml/test/file_bug392338.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/dom/xml/test/file_bug392338.js b/dom/xml/test/file_bug392338.js
new file mode 100644
index 000000000..1a433353b
--- /dev/null
+++ b/dom/xml/test/file_bug392338.js
@@ -0,0 +1,22 @@
+Components.utils.import("resource://gre/modules/Services.jsm");
+
+var modifyObserver = {
+ observe: function(subject, topic, data) {
+ if (topic == 'http-on-modify-request') {
+ var testOk = false;
+ try {
+ // We should be able to QI the request to an nsIChannel, then get
+ // the notificationCallbacks without throwing an exception.
+ var ir = subject.QueryInterface(Components.interfaces.nsIChannel).notificationCallbacks;
+
+ // The notificationCallbacks should be an nsIInterfaceRequestor.
+ testOk = ir.toString().indexOf(Components.interfaces.nsIInterfaceRequestor) != -1;
+ } catch (e) {
+ }
+ sendAsyncMessage('modify-request-completed', testOk);
+ Services.obs.removeObserver(modifyObserver, 'http-on-modify-request');
+ }
+ }
+};
+
+Services.obs.addObserver(modifyObserver, 'http-on-modify-request', false);