<html>
<head>
<script>
if (window.testRunner) {
  testRunner.dumpAsText();
  testRunner.dumpChildFrames();
  testRunner.waitUntilDone();
}

function done() {
  if (window.testRunner)
    testRunner.notifyDone();
}
</script>
</head>
<body>
<div>This test loads the XML document in an iframe so that it can call
dumpAsText().  This test passes if the iframe below does not contain a message
starting with "FAIL".</div>
<iframe onload="done()" src="resources/cross-origin-xsl-redirect.xml"></iframe>
</body>
</html>
