- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 01 Nov 2012 11:31:40 -0400
- To: "public-script-coord@w3.org" <public-script-coord@w3.org>
The grammar for callbacks allows optional arguments. But the processing
model in
http://dev.w3.org/2006/webapi/WebIDL/#es-invoking-callback-functions
(which references the one in
http://dev.w3.org/2006/webapi/WebIDL/#es-user-objects ) doesn't really
describe what to do with such arguments. I would like to propose a
processing model as follows:
1) Start with a list of n IDL argument values idlarg_{0 ... n-1}. This
assumes that we have a way to represent a "not passed" optional value as
an IDL type, which I believe we have agreed we need anyway.
2) Set argcount to n.
3) Set i to n-1.
4) While i >= 0 and the idlarg_i is not passed and the
corresponding argument of the IDL callback type is optional:
a) Set argcount to argcount - 1
b) Set i to i - 1
5) Continue with the algorithm as currently defined, but using
argcount, not n, as the number of arguments.
We will also need to define that converting a "not passed" value to an
ECMAScript value produces undefined, I think.
Thoughts?
-Boris
P.S. I'm implementing the above in Gecko anyway, because it's needed to
implement window.onerror. But I figured I'd at least sanity-check it.
Received on Thursday, 1 November 2012 15:32:10 UTC