[Bug 17758] Consider using microtasks for autorevoke

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17758

--- Comment #4 from Glenn Maynard <glenn@zewt.org> 2012-07-12 13:55:56 UTC ---
See https://www.w3.org/Bugs/Public/show_bug.cgi?id=16790#c4 for an example of
why it should use stable states, not microtasks.

(In reply to comment #0)
> "Stable state" is somewhat vague, since scripts can't really know when
> Blob URIs are auto-revoked.

What's vague?  It means URLs will always be revoked immediately and
deterministically when your script returns to the event loop, at step 5 in the
event loop processing model.


(In reply to comment #1)
> It seems to me revoking after stable state would mean basically nothing could
> use the URL even if you try to use it in the same script, since things that
> fetch URLs are usually async (like e.g. <img src>).

Part of the autoRevoke mechanism would be making each place that uses URLs
asynchronously like this convert (conceptually) from object URLs to underlying
blob data synchronously.  This has been brought up before but I'll make another
mention of this in #16953.

(In reply to comment #3)
> It is in HTML spec.

HTML doesn't define "microtask".  All it defines is "perform a microtask
checkpoint"; it doesn't give any mechanism to let other specs insert behavior
when that happens (there's nothing like "queue a microtask").  It could be
added, but #16790 settled on stable states for this.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 12 July 2012 13:56:02 UTC