- 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