<!DOCTYPE html>
<!--
The test verifies that a form with target="crossSiteFrame" works fine
(especially in presence of out-of-process-iframes, aka OOPIFs, aka
blink::RemoteFrames which are present in --site-per-process mode).

The test finishes successfully, if form-target.pl ends up calling
testRunner.notifyDone() after main frame calls testRuner.waitUntilDone
and submits the form.  Expected test output helps verify that the
correct HTTP method was used and that test field's value from the form
was propagated correctly.
-->
<html>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.dumpChildFrames();
    }

    function onLoad() {
        if (window.testRunner)
            testRunner.waitUntilDone();
        document.forms[0].submit();
    }
</script>
<body onload="onLoad();">
<form
  method="GET"
  action="http://localhost:8080/navigation/resources/form-target.pl"
  target="cross-site-frame">
    Test field:
    <input name="test-field" type="text" value="test-value">
    <input type="submit" value="Submit">
</form>
<iframe
  name="cross-site-frame"
  src="http://localhost:8080/navigation/resources/otherpage.html"></iframe>
</body>
</html>
