Things missing from Web IDL for HTML5

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