[whatwg] WebIDL vs HTML5 storage changes

Brady Eidson beidson at apple.com
Sun May 18 18:44:57 PDT 2008


On May 18, 2008, at 5:58 PM, Maciej Stachowiak wrote:

>> While I'm on the topic, I'm also curious about that [XXX]  
>> placeholder.
>> There's a bug in WebKit's bugzilla pointing out that the IE8 beta  
>> and Firefox 2 both support  `delete storage.keyName` syntax as an  
>> alias for `storage.removeItem(keyName)`
>> I'm taking a guess here and assuming supporting the `delete` syntax  
>> is the implied concept behind [XXX]
>
> WebKit's JavaScript engine doesn't currently have the ability to run  
> custom code when a property is deleted. It would be a significant  
> challenge to add this capability and possibly a performance  
> regression; and no other DOM-related spec requires this, even when  
> there is NameGetter or IndexGetter behavior. For example NodeLists  
> and HTMLCollections do not let you delete by name to remove the item  
> (I'm not sure what that would even mean). So I'd prefer not to have  
> to introducethis concept just for this one case.

  WebKit has the ability to add custom property deletion on a per- 
class basis - therefore not slowing down the common case at all.   
That's how I fixed the bug to make us compatible with IE8 and Firefox  
for now as this debate gets underway...

I know there are other outstanding questions about how wise it is to  
introduce custom behavior for deleting properties for specific objects  
versus the common case.  I don't have a good enough feel for all of  
the concerns with javascript and DOM scripting to know if this is a  
"horrible" idea, or just kind of a weird idea.

At this stage, I'm not necessarily arguing whether or not the HTML5  
spec should adopt this behavior or not, be it in the HTML5 spec itself  
or by WebIDL specifying the custom behavior.  But in the real world,  
if IE8 and Firefox continue to have this behavior but strict standards  
following browsers don't, then that's an unfortunate incompatibility.

Also note that unlike IE8 beta and WebKit nightlies and other  
unreleased browsers who are still implementing this for the first  
time, Firefox has apparently had the behavior since Firefox 2.0

My instinct is that if the community decides it is "just kind of  
weird", then it is a useful shorthand that we wouldn't lose anything  
from standardizing on.

~Brady

> Regards,
> Maciej
>




More information about the whatwg mailing list