<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: abort event should fire when stop() method is used</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[3] following::dt[3]/following::dd[1]/p"/>
  </head>
  <body>
    <div id="log"></div>
    <script>
      var test = async_test();
      window.onload = test.step_func(function() {
        var client = new XMLHttpRequest();
        var abortFired = false;
        var sync = true;
        client.onabort = test.step_func(function (e) {
          assert_false(sync);
          assert_equals(e.type, 'abort');
          abortFired = true;
        });
        client.open("GET", "resources/delay.py?ms=3000", true);
        client.send(null);
        test.step_timeout(() => {
          assert_equals(abortFired, true);
          test.done();
        }, 200);
        window.stop();
        sync = false;
      });
    </script>
  </body>
</html>
