| <!DOCTYPE html> |
| <!-- |
| The test verifies that a form with target="crossSiteFrame" and |
| with enctype="multipart/form-data" 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 headers were sent together with the HTTP POST request. |
| In particular, if wrong Content-Type header is send with the HTTP request, |
| then the field value will be garbled: |
| |
| - Expected: |
| test-field = test-value |
| |
| - Actual if no Content-Type is sent: |
| ------WebKitFormBoundaryxVEhq0cRaPT6heQg Content-Disposition: form-data = |
| name = "test-field" test-value ------WebKitFormBoundaryxVEhq0cRaPT6heQg-- |
| |
| --> |
| <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="POST" |
| enctype="multipart/form-data" |
| 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> |