- From: Ian Hickson <ian@hixie.ch>
- Date: Sat, 8 Aug 2009 00:22:30 +0000 (UTC)
- To: public-webapps@w3.org
I updated HTML5 to use the new Web IDL stuff. Here's what's missing, and
how I've used it:
* Some interfaces need multipler "caller"s. I've assumed that I can
specify "caller" on multiple operations and have the overloading behaviour
handle it automatically.
* Some interfaces need the "caller" and the "getter" to be the same
operation. I've assumed that one can specify both on the same operation.
* [Supplemental]: For specification process reasons, some interface
definitions don't get organised the same way as we want from
implementations. I've assumed that [Supplemental] will exist, and used it
as follows:
- Setting [Supplemental, NoInterfaceObject] on an interface X with no
ancestor and then saying:
Y implements X;
...implies that the members in X are imported into Y as if the
definition of Y always had X in it.
- Setting [Supplemental, NoInterfaceObject] on an interface X that
inherits from Y implies that there are objects called Y that have all
the members of X and Y with X not appearing on the prototype chain.
- Setting [Supplemental] on an interface that has the same name as an
interface definition without [Supplemental].
The distinction between these cases is that I have three different cases
where I need to do this. One is where I have some objects, e.g. Window,
that are made up of APIs defined in other specs, and those APIs are also
used by other interfaces. So I define Window, and then other specs slide
stuff into Window, and slide stuff into other interfaces (like Worker-
related ones). Another is WorkerGlobalScope, which I want to be the name
of the interface implementing the global scope for workers, but there are
two types of workers, and they have slightly different interfaces. And the
third is the deprecated interfaces, where one interface, e.g.
HTMLAnchorElement, is defined in two places.
HTH,
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Saturday, 8 August 2009 00:23:06 UTC