- From: Ian Hickson <ian@hixie.ch>
- Date: Fri, 19 Jun 2009 06:09:59 +0000 (UTC)
- To: Cameron McCormack <cam@mcc.id.au>
- Cc: public-webapps@w3.org
- Message-ID: <Pine.LNX.4.62.0906190537200.16244@hixie.dreamhostps.com>
On Fri, 19 Jun 2009, Cameron McCormack wrote:
>
> An alternative would be to reverse the omission of methods, so that
> “getter” on an operation would always have both the getter. Then if
> you wanted to omit the method if getters are supported you could do
> something like:
>
> interface DOMStringMap {
> omittable getter DOMString get(in DOMString name);
> omittable setter void set(in DOMString name, in DOMString value);
> …
> };
>
> and getters/setters defined with no operation name would be implicitly
> omittable.
I prefer "omittable" because it would mean I wouldn't have to say "and the
setter works like this other method" in prose all the time.
> If we are breaking syntax, then it seems more compelling to make
> “DOMString” be “string”.
>
> Maybe we could drop the “in” keyword. Seems better to stick with
> plain “in” arguments, for compatibility across language bindings,
> than to also allow “out” and “inout” ones.
I'd vote for not changing these, because we already have a lot of IDL out
there and it would be a pain to fix it all.
Regarding 'implements' (heycam and I talked about this on IRC recently;
I just wanted to get some notes down on the record):
There are three use cases that need covering:
- inheritance (e.g. Node -> Element -> HTMLElement -> HTMLAnchorElement)
- interfaces that are to be implemented by many other objects (e.g.
EventTarget)
- interfaces that are defined across multiple specs (e.g. Window,
WorkerUtils, HTMLBodyElement's attributes and methods being separated
from its deprecated attributes and methods)
The first is handled by ':', the second is handled by 'implements'. I
think we need the third also.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Friday, 19 June 2009 06:10:36 UTC