<!DOCTYPE html>
<html>
  <head>
    <title>
      Test if canceling events after setTargetAtTime crashes
    </title>
    <script src="../imported/w3c/web-platform-tests/resources/testharness.js"></script>
    <script src="../resources/testharnessreport.js"></script>
    <script src="resources/audit-util.js"></script>
    <script src="resources/audit.js"></script>
  </head>
  <body>
    <script id="layout-test-code">
      // Arbitrary parameters for the offline context.
      const sampleRate = 48000;
      const renderDuration = 1;
      const channels = 2;
      const renderFrames = renderDuration * sampleRate;

      const audit = Audit.createTaskRunner();

      audit.define('crash', (task, should) => {
        const context =
            new OfflineAudioContext(channels, renderFrames, sampleRate);
        const source = context.createConstantSource();
        const analyser = context.createAnalyser();
        source.connect(analyser);

        // Scheduling the following at an earlier time than above causes the
        // page to crash in 73.0.3638.0. See crbug.com/913217.
        source.offset.setValueAtTime(1, context.currentTime);
        source.offset.setTargetAtTime(0, context.currentTime + 2, 0.00001);
        source.offset.cancelAndHoldAtTime(context.currentTime + 1.99999);

        source.start(context.currentTime);

        context.startRendering().then(() => {
          // Should finish without a crash.
          task.done();
        });
      });

      audit.run();
    </script>
  </body>
</html>
