| <!doctype html> |
| <title>Revoking blob URL used with XMLHttpRequest</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <script> |
| async_test(function(t) { |
| var blob = new Blob(["test"]); |
| var url = URL.createObjectURL(blob); |
| var xhr = new XMLHttpRequest(); |
| xhr.open("GET", url); |
| |
| // Revoke the object URL. XHR should take a reference to the blob as soon as |
| // it receives it in open(), so the request succeeds even though we revoke the |
| // URL before calling send(). |
| URL.revokeObjectURL(url); |
| |
| xhr.send(); |
| |
| xhr.onload = t.step_func(function() { |
| assert_equals(xhr.response, "test"); |
| t.done(); |
| }) |
| xhr.onerror = t.step_func(function() { |
| assert_unreached("Got unexpected error event"); |
| }) |
| }); |
| </script> |