Index: third_party/WebKit/LayoutTests/http/tests/navigation/beacon-cross-origin-redirect-blob.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/navigation/beacon-cross-origin-redirect-blob.html b/third_party/WebKit/LayoutTests/http/tests/navigation/beacon-cross-origin-redirect-blob.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1d8ce2bc03f9a787d4a7415d8c7ebe9b8fef4f4f |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/navigation/beacon-cross-origin-redirect-blob.html |
@@ -0,0 +1,30 @@ |
+<!DOCTYPE HTML> |
+<html> |
+<head> |
+<script src="/js-test-resources/js-test.js"></script> |
+<script> |
+description("Verifying navigator.sendBeacon(Blob) non-CORS cross-origin redirect handling."); |
+ |
+window.jsTestIsAsync = true; |
+ |
+var blob; |
+function test() { |
+ if (window.testRunner) { |
+ testRunner.dumpAsText(); |
+ testRunner.dumpPingLoaderCallbacks(); |
+ } |
+ |
+ blob = new Blob(["Cross", "Origin"], {type: "text/plain;from-beacon=true"}); |
+ shouldBeTrue('navigator.sendBeacon("http://127.0.0.1:8080/navigation/resources/redirection-response.php?status=302&simple=true&target=non-existent.php", blob);'); |
+ // Wait a while for the redirect response handling to happen before finishing up. |
+ setTimeout(function () { |
+ blob = new Blob([new Uint8Array(20)], {type: "application/octet-stream"}); |
+ shouldBeTrue('navigator.sendBeacon("http://127.0.0.1:8080/navigation/resources/redirection-response.php?status=302&simple=false&target=non-existent.php", blob);'); |
+ setTimeout(finishJSTest, 200); |
+ }, 200); |
+} |
+</script> |
+</head> |
+<body onload="test();"> |
+</body> |
+</html> |