Re: Question about System Information API

Robin Berjon:
> Mark is not the first one to be (IMHO understandably) confused by this
> somewhat arcane construct. I know that you already have a lot on your
> plate with WebIDL, but I was wondering if you'd considered some syntax
> to make this more straightforward to specify. Since we don't care
> about Java, I've thought of switching to just Function but I don't
> like losing the ability to specify the callback's signature.

“Care less” rather than “don’t care”, I think.

Someone had proposed adding first class function types to Web IDL, to
avoid having to define an interface for this.  How about (the not quite
first class):

  function void SuccessCB(optional Object obj);

and then SuccessCB can be used as an argument type just like the
interface SuccessCB currently is.

There wouldn’t be a property “SuccessCB” on the global object, so
[NoInterfaceObject] wouldn’t be required.

In other languages where you don’t have functions outside of objects,
like Java, it could get mapped to

  interface SuccessCB {
    void run(Object obj);
  }

i.e. the binding would have to assume a name like “run”, and not take it
from the definition of the function, since we’re not giving it one.

Then we could have a built-in definition to Web IDL, either:

  function any Function(in any... args);

or

  function void Function();

(Probably the former.)

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Monday, 21 March 2011 22:24:06 UTC