<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - XMLHttpRequest(s) aborted when they should not be"
   href="https://bugs.webkit.org/show_bug.cgi?id=137817#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - XMLHttpRequest(s) aborted when they should not be"
   href="https://bugs.webkit.org/show_bug.cgi?id=137817">bug 137817</a>
              from <span class="vcard"><a class="email" href="mailto:mirko.tschaeni@unblu.com" title="Mirko Tschäni <mirko.tschaeni@unblu.com>"> <span class="fn">Mirko Tschäni</span></a>
</span></b>
        <pre>I have implemented a better test application that tests in detail, which requests are aborted and when. Using this test application (available as an attachment as well as online at <a href="http://lab-browserillegalrequestabort-1.unblu.com/">http://lab-browserillegalrequestabort-1.unblu.com/</a>) I have testet a selection of major browsers (Chrome, Internet Explorer, Firefox and Safari as well as other webkit based browsers) in the most recent versions as well as some older versions (i.e. Safari 6, Firefox 24).

The test application covers a wide range of variations and the results relevant for Safari are consistent across all variations and tested versions.

The application tests with different kinds of requests (XMLHttpRequest, image and WebSocket)
The application tests whether requests are aborted during step 12 of <a href="https://html.spec.whatwg.org/multipage/browsers.html#navigating-across-documents">https://html.spec.whatwg.org/multipage/browsers.html#navigating-across-documents</a> 
The application tests during different phases of the document life cycle (loading, loaded)
The application tests using same origin resources as well as x-origin resources


Safari aborts all pending request (except WebSockets) in all variations as soon as a new value is assigned to the document location.

The majority of browsers (Chrome and InternetExplorer) DO NOT abort any requests in the same scenario.

Firefox does also abort requests just like webkit while webkit also aborts websockets.

In addition to aborting requests on location assignment, safari also does not allow the creation of new requests after the assignment. If the response turns out to be a download or other content that is not renderable in the browser, safari re allows the creation of new requests.

All other tested browsers (Firefox, Chrome and Internet Explorer) do always allow the creation of new requests, also in the time between a location assignment and the eventual unloading or hand  off to external application or download depending on content-type and content-disposition.

Please also read trough: <a href="http://lab-browserillegalrequestabort-1.unblu.com/info.html">http://lab-browserillegalrequestabort-1.unblu.com/info.html</a> (description of the test application).
Please note that the same issue has also been reported with mozilla under <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1084399">https://bugzilla.mozilla.org/show_bug.cgi?id=1084399</a></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>