Incidentally, the way XHR gets around this is to have open cancel any in-progress abort. We could certainly do the same thing, having any readAs* cancel abort().
On Tue, Feb 28, 2012 at 4:15 PM, Eric U <er...@google.com> wrote: > I like the Event Invariants writeup at the end. It's only > informative, but it is, indeed, informative. > > However, I'm not sure it quite matches the normative text in one > respect. Where you say [8.5.6 step 4]: "Terminate any steps while > processing a read method." Does that also terminate the steps > associated with an abort that terminated the read method? Basically > I'm not sure what "steps while processing a read method" means. > > Otherwise, if you start a new read in onabort [8.5.6 step 5], you'll > still deliver the loadend [8.5.6 step 6]. > This contradicts 8.5.9.2.1 "Once a loadstart has been fired, a > corresponding loadend fires at completion of the read, EXCEPT if the > read method has been cancelled using abort() and a new read method has > been invoked." > > Eric [copying this into FileWriter]