Because redirects are atomic, we cannot dispatch loadend events and
such on the XMLHttpRequestUpload class.

This effectively means that the moment we know we are not going to
follow a redirect, we know we "completed" uploading (potentially
several times).

>From what I observed in Safari/Chrome it seems a separate task is what
we want. This means e.g. a setTimeout() callback can run between
loadend for upload and state switching to HEADERS_RECEIVED.

Firefox also reports state as OPENED, though the setTimeout() callback
runs much later (maybe due to a lower limit).

http://dump.testsuite.org/xhr/upload-events.html was my test.

Let me know if you have any concerns. This change will mostly be done
in Fetch as that queues the networking tasks these days.


-- 
http://annevankesteren.nl/

Reply via email to