summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/available-images-onload.html
blob: 5fc5cb8b61986a020b52a16dd765a88459399165 (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
29
30
31
32
33
<!doctype html>
<html>
<title>Ensure images from available images list can be drawn to a canvas</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-list-of-available-images">
<meta charset="utf-8">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
  async_test(function(t) {
    var i = new Image();
    i.onerror = t.unreached_func();
    i.onload = t.step_func(function() {
      var i2 = new Image();
      // Potentially start multiple image loading tasks by performing several
      // relevant mutations. This could lead to an invalid state later in an
      // erroneous implementation.
      i2.crossOrigin = true;
      // Start an image loading task that is expected to short-circuit since
      // the requested image is present in the list of available images.
      i2.src = "3.jpg";
      i2.onerror = t.unreached_func();
      // Ensure the loaded image is in a state that is usable by a 2d canvas.
      i2.onload = t.step_func_done(function() {
        var c = document.createElement('canvas');
        var ctx = c.getContext('2d');
        ctx.drawImage(i2, 0, 0);
      });
    });
    // Request an image which should be added to the list of available images.
    i.src = "3.jpg";
  });
</script>