| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>SendBeacon keepalive flag</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| </head> |
| <body> |
| <script src="/common/utils.js"></script> |
| <script src="/common/get-host-info.sub.js"></script> |
| <script> |
| const RESOURCES_DIR = "/beacon/resources/"; |
| |
| function pollResult(test, id) { |
| var checkUrl = RESOURCES_DIR + "content-type-and-body.py?cmd=get&id=" + id; |
| |
| return new Promise(resolve => { |
| step_timeout(test.step_func(() => { |
| fetch(checkUrl).then(response => { |
| response.text().then(body => { |
| resolve(body); |
| }); |
| }); |
| }), 1000); |
| }); |
| } |
| |
| onload = function() { |
| w = open("support/sendBeacon-onpagehide-window.html"); |
| w.onload = function() { |
| promise_test(function(test) { |
| let id = w.id; |
| setTimeout(function() { |
| w.location = "about:blank"; |
| }, 0); |
| |
| return pollResult(test, id).then(result => { |
| assert_equals(result, "text/plain;charset=UTF-8: test", "Correct content-type header result"); |
| }); |
| }, "Test that beacon sent from pagehide event handler is properly received"); |
| } |
| } |
| </script> |
| </body> |
| </html> |