Re: [WebIDL] prototype chains, multiple inheritance, mixin interfaces

On Sat, 20 Nov 2010, Cameron McCormack wrote:
>
>   * All abstract interfaces are thus implicitly [Supplemental] and
>     [NoInterfaceObject].  There’s no need to define [Supplemental]
>     then, and [NoInterfaceObject] might be able to be dropped.

This only removes one of the use cases for [Supplemental]; there are still 
some others, e.g. having a concrete interface be defined in several 
different specs (q.v. HTMLBodyElement), and having a hierarchy get 
flattened (e.g. DedicatedWorkerGlobalScope and SharedWorkerGlobalScope vs 
WorkerGlobalScope). So we likely still need [Supplemental]. There's also 
the weird magic does for e.g. WindowModal, where the Window "class" is 
different in different contexts; should that just be done in prose?

Overall this idea seems great. What's the syntax going to be? "abstract 
interface Foo { ... };" ? Is the namespace for the abstract interfaces the 
same as for the concrete classes? Presumably the names of abstract 
interfaces are now purely a spec detail; should they all be prefixed with 
some special indicator to show that they're not "real"?

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Friday, 19 November 2010 22:07:21 UTC