[css-houdini-drafts] [css-paint-api] Invoking a paint callback needs to define how input arguments are passed (#920)

bzbarsky has just created a new issue for https://github.com/w3c/css-houdini-drafts:

== [css-paint-api] Invoking a paint callback needs to define how input arguments are passed ==
https://drafts.css-houdini.org/css-paint-api-1/#draw-a-paint-image step 8 says:

> Let inputArguments be the list of all the paintFunction arguments after the "paint name" argument.

so _inputArguments_ is an infra list.  It's not 100% clear to me what the types of the things in that list are, but OK.

then step 11 says:

> Run invoke a paint callback given name, inputArguments, snappedConcreteObjectSize, workletGlobalScope optionally in parallel.

so we land in https://drafts.css-houdini.org/css-paint-api-1/#invoke-a-paint-callback with _inputArguments_ this list.

Then step 12 says:

> Invoke paintFunctionCallback with arguments «renderingContext, paintSize, styleMap, inputArguments», and with paintInstance as the callback this value.

where _paintFunctionCallback_ is defined to be a "Function" as defined at 
https://heycam.github.io/webidl/#Function (modulo <https://github.com/w3c/css-houdini-drafts/issues/919>).  This is defined to take any number of `any` arguments, and https://heycam.github.io/webidl/#any-to-es defines rules for converting idl values to ES when `any` is used, but an infra list is not an IDL value on its own.  It can be interpreted as one of several different types IDL values, in various ways (sequence and FrozenArray come to mind).

Somewhere in here this list should get converted to the relevant type of IDL value before being passed to the IDL callback.

Please view or discuss this issue at https://github.com/w3c/css-houdini-drafts/issues/920 using your GitHub account

Received on Thursday, 11 July 2019 18:52:08 UTC