W3C home > Mailing lists > Public > www-dom@w3.org > July to September 2011

[DOM4] Use new WebIDL [EnforceRange] attribute?

From: David Flanagan <dflanagan@mozilla.com>
Date: Fri, 09 Sep 2011 09:43:11 -0700
Message-ID: <4E6A421F.8070605@mozilla.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:14:08 GMT