[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