- 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