[whatwg] WebIDL vs HTML5 storage changes - delete behavior

Cameron McCormack cam at mcc.id.au
Tue Jan 13 15:30:06 PST 2009

Ian Hickson:
> > > For DOMStringMap, my intention was to not provide methods at all, and 
> > > only provide the JS-native mechanisms.

Maciej Stachowiak:
> > A bold choice, but I would not recommend it as the sole available 
> > mechanism.

Ian Hickson:
> See above for UndoManager, but for DOMStringMap I don't want to add any 
> other mechanisms, because they introduce name clashes. Right now the IDL 
> for DOMStringMap is:
>    [NameCreator, NameDeleter, NameGetter, NameSetter]
>    interface DOMStringMap {};
> It basically emulates a JS Object. It's intended only for JS. I don't see 
> why this is a bad idea.

At the moment, the interface is useful only for JS (and other languages
that support this kind of indexing).  For other languages, a
DOMStringMap object would appear to be a completely opaque object
without any means of interacting with it.  Given that this is basically
meant to be a shorthand for getting/setting attributes with particular
names, I would be happy with it not existing in other language bindings.
Web IDL doesn’t have a mechanism to state that an interface member or a
definition should only be included if the target language binding is a
particular one, though.

An alternative would be to put operations on the interface to act as the
getters/setters/etc., and use the [NoIndexingOperations] extended
attribute to indicate that these operations won’t correspond to
properties in language bindings such as ECMAScript.  That would then at
least make the interface useful for other languages.

Cameron McCormack ≝ http://mcc.id.au/

More information about the whatwg mailing list