- From: <bugzilla@jessica.w3.org>
- Date: Mon, 20 Oct 2014 21:53:15 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27033 --- Comment #18 from Hallvord R. M. Steen <hsteen@mozilla.com> --- (In reply to Mukilan Thiyagarajan from comment #11) > > It may be noteworthy that implementations consistently let open() prevent > > the abort processing's onloadend event from firing. AFAIK the spec is out of > > tune with implementations here. > > I'm seeing the opposite behaviour on both Firefox (32.0) and Chrome > (38.0.2125.104). Here is a test page that demonstrates the issue: > > http://mukilan.github.io/servo_xhr_abort_and_open.html Interesting - here you call abort() at a much later stage, with readyState being 3 already and the content basically delivered. BTW - your test with a suitable pass condition would be a welcome addition to https://github.com/w3c/web-platform-tests/tree/master/XMLHttpRequest ! (In reply to Anne from comment #13) > Are you saying that they do not eventually change it to UNSENT in case of > abort() (when open() is not called)? Because I believe that part of the > specification is actually tested. Indeed it is - for example here: http://w3c-test.org/XMLHttpRequest/abort-after-receive.htm > > * Webkit (as seen in Opera and Chrome, Safari not tested) doesn't fire any > > onabort events at all if you call abort() in the OPENED state. > This is OPENED with the send() flag set, correct? Correct, I presume - in for example the open-during-abort-processing test, abort() is called from an onloadstart event handler, should happen right after the send() flag is set. > > It may be noteworthy that implementations consistently let open() prevent > > the abort processing's onloadend event from firing. AFAIK the spec is out of > > tune with implementations here. > > So if that's the case we'd need to add a new flag "open()/abort() flag" or > some such, that is checked before an event is fired. An "actually reset" flag? What if open() simply un-sets the send() flag, and those events are only fired if the send() flag is set? (BTW - is it a spec bug that the open() method steps do not say "unset the send() flag"? Seems like it should, i.e. xhr.send() xhr.open() xhr.setRequestHeader('foo', 'bar') should presumably not throw.) -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Monday, 20 October 2014 21:53:17 UTC