- From: Martin Thomson <martin.thomson@gmail.com>
- Date: Fri, 28 Sep 2012 10:47:36 -0700
- To: Adam Bergkvist <adam.bergkvist@ericsson.com>
- Cc: Randell Jesup <randell-ietf@jesup.org>, "public-webrtc@w3.org" <public-webrtc@w3.org>
On 28 September 2012 01:58, Adam Bergkvist <adam.bergkvist@ericsson.com> wrote: > Each of the "onsomething" attributes needs to be generic EventHandler > attributes. To set such an event handler attribute is just one way to > register a listener for an event. Not "needs to be", just "can be". EventHandler is just the default for a callback of the form: [TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event); typedef EventHandlerNonNull? EventHandler; As opposed to Function, which is probably something like: callback Function = any (any... arguments); This implies that if you wish to declare an onsomething event handler that consumes an event with additional parameters you would have: interface MyInterface : EventTarget { attribute MyEventHandler? onsomething; }; [TreatNonCallableAsNull] callback MyEventHandler = void (MyEvent e); interface MyEvent : Event { readonly attribute any myProperty; }; There is no ambiguity there. One advantage is that it links a to b to c. That said, there is a convention that has developed whereby this linkage is performed in prose. If that is the choice of the editors, can I request that the linkage be added? --Martin p.s. I had to consult Travis Leithead to confirm this. This is part of the HTML5 black magic.
Received on Friday, 28 September 2012 17:48:03 UTC