<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://A=a&B=b">
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.setCustomPolicyDelegate(true, false);
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<p>Tests that we do not redirect to an invalid URL initiated by &lt;meta http-equiv=&quot;refresh&quot;&gt;. This test PASSED if you see an entry in the dumped frame load callbacks of the form: &quot;willPerformClientRedirectToURL: http://A=a&amp;B=b&quot; followed by &quot;didCancelClientRedirectForFrame&quot;.</p>
<p>Note, this test must be run in DumpRenderTree.</p>
<script>
// This ugly double-timeout ensures that the scheduled meta-refresh, whose timer isn't even started until the frame finishes loading,
// fires before notifyDone() is called, ensuring that didCancelClientRedirectForFrame is logged by DumpRenderTree.
window.setTimeout(function() {
    window.setTimeout(function() {
        if (window.testRunner)
            testRunner.notifyDone();
    }, 0);
}, 0);
</script>
</body>
</html>
