w3c: |
    <!DOCTYPE html>
    <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
    <title>OffscreenCanvas test: %(name)s</title>%(timeout)s
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/2dcontext/resources/canvas-tests.js"></script>

    <h1>%(name)s</h1>
    <p class="desc">%(desc)s</p>

    %(notes)s
    <script>
    var t = async_test("%(escaped_desc)s");
    var t_pass = t.done.bind(t);
    var t_fail = t.step_func(function(reason) {
        throw reason;
    });
    t.step(function() {

    var offscreenCanvas = new OffscreenCanvas(100, 50);
    var ctx = offscreenCanvas.getContext('2d');

    %(code)s
    });
    </script>


w3cworker: |
    // DO NOT EDIT! This test has been generated by tools/gentest.py.
    // OffscreenCanvas test in a worker:%(name)s
    // Description:%(desc)s
    // Note:%(notes)s

    importScripts("/resources/testharness.js");
    importScripts("/2dcontext/resources/canvas-tests.js");

    var t = async_test("%(escaped_desc)s");
    var t_pass = t.done.bind(t);
    var t_fail = t.step_func(function(reason) {
        throw reason;
    });
    t.step(function() {

    var offscreenCanvas = new OffscreenCanvas(100, 50);
    var ctx = offscreenCanvas.getContext('2d');

    %(code)s
    });
    done();
