- 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