[whatwg] WebIDL vs HTML5 storage changes

On May 20, 2008, at 2:56 PM, Robert O'Callahan wrote:

> On Tue, May 20, 2008 at 3:50 PM, Maciej Stachowiak <mjs at apple.com>  
> wrote:
>
> On May 19, 2008, at 4:54 PM, Robert O'Callahan wrote:
>
> If "storage.keyName = 'value';" can create a new storage item  
> (persistently), won't authors expect "delete storage.keyName;" to  
> remove it (persistently), as a matter of consistency?
>
> If overloading "delete" is too quirky or too hard to implement, then  
> it seems none of the other shorthands should be allowed either.
>
> Many objects in the DOM implement custom name getters (for instance  
> NodeList) and a few even implement custom name setters  
> (CSSStyleDeclaration, at least the way it is done in WebKit) but no  
> one has clamored for a custom deleter or expected delete to work "as  
> a matter of consistency" or been confused that "style.opacity = 0"  
> is allowed but "delete style.opacity" is not. So I would say the  
> available evidence argues against your conclusions.
>
> I think 'style' does not bear on my conclusions, since 'style' has  
> custom property getters and setters, but not *adders* ---  
> "style.foobar = ...;" does not trigger any DOM API. Storage is  
> different, it is something new.

style.opacity = ... certainly triggers DOM API even if opacity was not  
previously set on that style. And there is even a plausible mapping  
for delete (style.removeProperty). It's not completely open-ended but  
you can certainly have properties added to and removed from a style  
declaration.

Ultimately the conclusion I question is that having obj.foo and  
obj.foo = ... work, but not delete obj.foo, will create confusion or  
is somehow illogical. I don't believe it will create confusion, and I  
think style is a relevant example of a case where it has not.

Regards,
Maciej

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20080520/6ac2db70/attachment.htm>

Received on Tuesday, 20 May 2008 15:34:20 UTC