gecko/content/base/test/chrome/bug514705_helper.xul

91 lines
3.3 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<window title="Bug514705 helper"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="RunTest();">
<script type="application/javascript">
<![CDATA[
var Ci = Components.interfaces;
var imports = [ "SimpleTest", "is", "isnot", "ok" ];
for each (var import in imports) {
window[import] = window.opener.wrappedJSObject[import];
}
var locationChanged = false;
var progressChanged = false;
var refreshAttempted = false;
var listener = {
onLocationChange: function(webProgress, request, location) {
locationChanged = true;
},
onProgressChange: function(webProgress, request, curSelfProgress,
maxSelfProgress, curTotalProgress,
maxTotalProgress) {
},
onSecurityChange: function(webProgress, request, state) {
},
onStateChange: function(webProgress, request, stateFlags, status) {
if ((stateFlags & Ci.nsIWebProgressListener.STATE_STOP) &&
(stateFlags & Ci.nsIWebProgressListener.STATE_IS_WINDOW)) {
var test = SimpleTest;
ok (locationChanged, "onLocationChanged was called.");
ok (progressChanged, "onProgressChanged64 was called.");
ok (refreshAttempted, "onRefreshAttempted was called.");
ok (true, "onStateChange was called.");
window.close();
test.finish();
}
},
onStatusChange: function(webProgress, request, status, message) {
},
onProgressChange64 : function(webProgress, request, curSelfProgress,
maxSelfProgress, curTotalProgress,
maxTotalProgress) {
progressChanged = true;
},
onRefreshAttempted : function(webProgress, uri, millis, sameURI)
{
refreshAttempted = true;
return true;
},
QueryInterface: function(iid) {
if (iid.equals(Components.interfaces.nsIWebProgressListener) ||
iid.equals(Components.interfaces.nsIWebProgressListener2) ||
iid.equals(Components.interfaces.nsISupportsWeakReference)) {
return this;
}
throw Components.results.NS_NOINTERFACE;
}
}
function EndTest() {
var test = SimpleTest;
window.close();
test.finish();
}
function RunTest()
{
var browser = document.getElementById('page');
var flags = Ci.nsIWebProgress.NOTIFY_ALL;
browser.webProgress.addProgressListener(listener, flags);
var script = "refreshURI = docShell.QueryInterface(Components.interfaces.nsIRefreshURI);"
+ "var ioServ = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);"
+ "var uri = ioServ.newURI('http://localhost:8888/tests/content/base/test/chrome/bug514705.html', null, null);"
+ "refreshURI.refreshURI(uri, 100, false, false);";
messageManager.loadFrameScript("data:," + script, true);
}
]]>
</script>
<browser type="content" flex="1" id="page" remote="true"/>
</window>