[Bug 16953] createObjectURL and oneTimeOnly behavior should be defined in terms of stable state

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

--- Comment #8 from Glenn Maynard <glenn@zewt.org> 2012-07-11 23:16:15 UTC ---
(In reply to comment #7)
> 1. autoRevoke is true by default, since there's much resistance to having
> developers call revokeObjectURL.  In this model, *unless* developers include
> the autoRevoke="false" dictionary member syntax with a createObjectURL call,
> they don't need to call revokeObjectURL.

Isn't it too late to change the default?  createObjectURL has been in the wild
for quite a while without this.

You need to await a stable state, not provide one
(http://www.whatwg.org/specs/web-apps/current-work/#await-a-stable-state).

You don't need to describe what happens when the dictionary argument is
omitted; WebIDL will give you the default.

Here's a simplified algorithm:

1. If this method is called with a Blob argument that is not valid, return null
and terminate these steps.
2. Return a unique Blob URI that can be used to dereference the blob argument.
3. If the autoRevoke member of the options argument is false, terminate these
steps.
4. Asynchronously await a stable state, allowing the task that invoked this
algorithm to continue. 
5. Revoke the Blob URI by calling revokeObjectURL on it and terminate these
steps.

"Revoke ..." should probably be simply "Revoke the blob URI *URI*", with
"revoke the blob URI" being separated out from the definition of
revokeObjectURL, instead of having algorithms call function definitions.

-- 
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 Wednesday, 11 July 2012 23:16:17 UTC