- From: David Flanagan <dflanagan@mozilla.com>
- Date: Fri, 09 Sep 2011 09:43:11 -0700
- To: www-dom@w3.org
WebIDL has just introduced an [EnforceRange] attribute that alters the behavior of numeric conversions. I argued for something like this using CharacterData.deleteData() as an example. In DOM Level 2, it was specified to throw a TypeError for negative arguments, even though those arguments were unsigned long and WebIDL would automatically convert any negative arguments to positive. The last time I checked, the Webkit browsers do throw TypeError for negative arguments (following DOM 2) and Firefox converts -1 to the maximum positive unsigned long value (following the current version of DOM4). I'd like to suggest that the arguments to this (and similar) methods be declared with [EnforceRange], which would bring DOM4 back into alignment with the intent of DOM Level 2. If someone passes -1 to deleteData(), I think it is safe to say that they don't really mean 2^32-1. An error is the right thing here. David
Received on Friday, 9 September 2011 16:43:39 UTC