<?xml version="1.0"?> <?xml-stylesheet type="text/css" href="chrome://global/skin"?> <?xml-stylesheet type="text/css" href="/tests/SimpleTest/test.css"?> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=565388 --> <window title="Mozilla Bug 565388" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> <!-- test code goes here --> <script type="application/javascript"> <![CDATA[ /** Test for Bug 565388 **/ SimpleTest.waitForExplicitFinish(); var Ci = Components.interfaces; var Cc = Components.classes; var progressListener = { add: function(docShell, callback) { this.callback = callback; this.docShell = docShell; docShell. QueryInterface(Ci.nsIInterfaceRequestor). getInterface(Ci.nsIWebProgress). addProgressListener(this, Ci.nsIWebProgress.NOTIFY_STATE_WINDOW); }, finish: function() { this.docShell. QueryInterface(Ci.nsIInterfaceRequestor). getInterface(Ci.nsIWebProgress). removeProgressListener(this); this.callback(); }, onStateChange: function (webProgress, req, flags, status) { if (req.name.startsWith("data:application/vnd.mozilla.xul")) { if (flags & Ci.nsIWebProgressListener.STATE_STOP) this.finish(); } }, QueryInterface: function(iid) { if (iid.equals(Components.interfaces.nsIWebProgressListener) || iid.equals(Components.interfaces.nsISupportsWeakReference)) return this; throw Components.results.NS_ERROR_NO_INTERFACE; } } var systemPrincipal = Cc["@mozilla.org/systemprincipal;1"]. createInstance(Ci.nsIPrincipal); var webNav = Cc["@mozilla.org/appshell/appShellService;1"]. getService(Ci.nsIAppShellService). createWindowlessBrowser(true); var docShell = webNav. QueryInterface(Ci.nsIInterfaceRequestor). getInterface(Ci.nsIDocShell); docShell.createAboutBlankContentViewer(systemPrincipal); var win = docShell.contentViewer.DOMDocument.defaultView; progressListener.add(docShell, function(){ is(win.document.documentURI, "data:application/vnd.mozilla.xul+xml;charset=utf-8,<window/>"); webNav.close(); SimpleTest.finish(); }); win.location = "data:application/vnd.mozilla.xul+xml;charset=utf-8,<window/>"; ]]> </script> <!-- test results are displayed in the html:body --> <body xmlns="http://www.w3.org/1999/xhtml"> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=565388" target="_blank">Mozilla Bug 565388</a> </body> </window>