chromium/third_party/blink/web_tests/wpt_internal/webgpu/canvas_webgpu_transfer/canvas-reset-destroys-texture.https.html

<!DOCTYPE html>
<html>
<head>
<title>Canvas2D WebGPU Transfer: canvas-reset-destroys-texture</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./webgpu-helpers.js"></script>
</head>

<h1>Canvas2D WebGPU Transfer: canvas-reset-destroys-texture</h1>

<p>Resetting a canvas during WebGPU access should destroy the GPUTexture.</p>

<canvas id="c" width="50" height="50"></canvas>

<script>

promise_test(() => {
    return with_webgpu((adapter, adapterInfo, device) => {
      return test_canvas_reset_destroys_texture(adapterInfo,
                                                device,
                                                document.getElementById('c'),
                                                'resize');
    });
  }, 'Resizing a canvas during WebGPU access destroys the GPUTexture.'
);

promise_test(() => {
    return with_webgpu((adapter, adapterInfo, device) => {
      return test_canvas_reset_destroys_texture(adapterInfo,
                                                device,
                                                new OffscreenCanvas(50, 50),
                                                'resize');
    });
  },
  'Resizing an offscreen canvas during WebGPU access destroys the GPUTexture.'
);

promise_test(() => {
    return with_webgpu((adapter, adapterInfo, device) => {
      return test_canvas_reset_destroys_texture(adapterInfo,
                                                device,
                                                document.getElementById('c'),
                                                'api');
    });
  }, 'Calling context.reset() during WebGPU access destroys the GPUTexture.'
);

promise_test(() => {
    return with_webgpu((adapter, adapterInfo, device) => {
      return test_canvas_reset_destroys_texture(adapterInfo,
                                                device,
                                                new OffscreenCanvas(50, 50),
                                                'api');
    });
  },
  'Calling context.reset() for an offscreen canvas during WebGPU access ' +
  'destroys the GPUTexture.'
);

</script>