Revise processing model, fix queue size attributes - #493
Conversation
|
@padenot @aboba - review guide:
This first commit revises the processing model and updates AudioDecoder.configure() and AudioDecoder.decode() to use the new way. Will go further after getting some initial feedback. |
|
@sandersdan FYI |
|
@padenot has gone OOO for a bit, so planning to TBR for his review (he's already blessed the first round of change for AudioDecoder). @dalecurtis, could you take a look at the ImageDecoder changes here. Should be no change at all to Chrome's behavior - just editorial refactoring to align spec:chrome. Happy to go through it on VC if you'd like. |
dalecurtis
left a comment
There was a problem hiding this comment.
Seems to make things more complicated than necessary for ImageDecoder, but it's probably better to be consistent throughout the document on the processing model.
| instance. See [=[[control message queue]]=]. | ||
|
|
||
| : <dfn attribute for=ImageDecoder>[[message queue blocked]]</dfn> | ||
| :: A boolean indicating when processing the |
There was a problem hiding this comment.
Currently there are no operations which can block the work queue for ImageDecoder. The only things close are reset() and track changes, both of which will abort the queue.
There was a problem hiding this comment.
The constructor has an async step to configure the decoder, similar to how configure() works for the other interfaces. This gets queued as a control message and blocks any subsequent decode() until configure resolves. It may be that our impl is actually simpler than this, and I don't know that the blockage is really observable anyway, but it seemed nice to be consistent w/ the other configure() control messages in this way.
|
|
||
| A <dfn>valid image MIME type</dfn> is a string that is a [=valid MIME type | ||
| string=] and for which the `type`, per Section 3.1.1.1 of [[RFC7231]], is | ||
| string=] and for which the `type`, per Section 3.1.1.1 of [[RFC9110]], is |
There was a problem hiding this comment.
Was this a typo before?
There was a problem hiding this comment.
Bikeshed let me know that the original RFC was obsoleted by this new one.
chcunningham
left a comment
There was a problem hiding this comment.
Thanks @dalecurtis.
I definitely agree w/ your sentiment that this is more complicated than I'd make it were ImageDecoder a standalone thing.
| instance. See [=[[control message queue]]=]. | ||
|
|
||
| : <dfn attribute for=ImageDecoder>[[message queue blocked]]</dfn> | ||
| :: A boolean indicating when processing the |
There was a problem hiding this comment.
The constructor has an async step to configure the decoder, similar to how configure() works for the other interfaces. This gets queued as a control message and blocks any subsequent decode() until configure resolves. It may be that our impl is actually simpler than this, and I don't know that the blockage is really observable anyway, but it seemed nice to be consistent w/ the other configure() control messages in this way.
|
|
||
| A <dfn>valid image MIME type</dfn> is a string that is a [=valid MIME type | ||
| string=] and for which the `type`, per Section 3.1.1.1 of [[RFC7231]], is | ||
| string=] and for which the `type`, per Section 3.1.1.1 of [[RFC9110]], is |
There was a problem hiding this comment.
Bikeshed let me know that the original RFC was obsoleted by this new one.
|
Thanks everyone. @padenot, I'll go ahead and merge as TBR while you're OOO. Late feedback welcome. |
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: e24686d Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
A few changes
Preview | Diff