- From: Brendan Eich <brendan@mozilla.org>
- Date: Fri, 23 Sep 2011 12:37:16 -0700
- To: David Bruant <david.bruant@labri.fr>
- Cc: public-script-coord@w3.org
On Sep 23, 2011, at 12:31 PM, David Bruant wrote: > Hi, > > In the current form of WebIDL, if i run the following code (in a > WebIDL-compliant environment): > ----- > var o = Event.prototype; > delete o.currentTarget; // works with any other attributes > ----- > Then, all events afterward will not have a currentTarget property (since > it's gone from the interface). > In the DOM event spec, "currentTarget" is defined as an attribute on the > Event.prototype object. This property must be a configurable (since not > [[Unforgeable]]). Consequently, any script can remove it and events will > no longer have a currentTarget property which is not what anyone want. > > Consequently, I would suggest to consider all attributes to be > non-configurable regardless of [[Unforgeab(le)]]-ility. Why is this a good idea? There are many ways to modify standard constructors and their prototypes, some destructive. Is it really important to forbid such freedom, just because one can make a mess? /be
Received on Friday, 23 September 2011 19:37:54 UTC