Re: [FileAPI] FileReader.abort() and File[Saver|Writer].abort have different behaviors

On Thu, 22 Sep 2011 04:01:40 +0200, Glenn Maynard <glenn@zewt.org> wrote:
> To my reading, a substep is a type of step.  The "after finishing..."  
> sounds like it's saying not to terminate the currently-executing step;  
> that is, the event dispatch isn't stopped in the middle.  Maybe "steps"  
> vs. "substeps"
> are precisely defined somewhere else, but either way this could probably  
> be clearer.  Anne?

Your interpretation is correct. I could make it say "step or substep" but  
it seems people might want something else altogether.


> I just tried this in FF6, and the behavior is inconsistent.  If the TCP
> connection has been established, then it follows your interpretation, and
> you get onloadstart, onabort, onloadstart, onloadend, onloadend [1][3].   
> If the TCP connection hasn't yet been established [2][4], calling open()  
> from either onabort or onloadend throws NS_ERROR_IN_PROGRESS.

But open() has to dispatch a readystatechange event. That will get  
somewhere in the middle of that, no?


> With the various inconsistencies, I wonder if the spec can't actually be
> changed to disallow open() during the events, following FF6--that
> NS_ERROR_IN_PROGRESS is probably unintentional, but it's in a shipping
> browser nonetheless.  Wishful thinking, maybe...

There is the same problem with send() but there it was not a problem  
before either because you just had readystatechange.


>> This sounds like a bug in the XHR spec as it doesn't fulfill the
>> invariants I listed.
>
> I agree with those invariants, but they aren't normative anywhere, are  
> they?

Nope.


-- 
Anne van Kesteren
http://annevankesteren.nl/

Received on Thursday, 22 September 2011 09:20:01 UTC