summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/FileAPI/blob/Blob-XHR-revoke.html
blob: fea313eeee5663f007df29e9e0ae128e88ba3835 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!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>