Re: [DOM4] Use new WebIDL [EnforceRange] attribute?

On Fri, 09 Sep 2011 18:43:11 +0200, David Flanagan <dflanagan@mozilla.com>  
wrote:
> 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).

How does that follow the DOM? There's no such thing defined for  
deleteData() as far as I know.


> 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.

So we have to litter [EnforceRange] throughout a lot of methods? Is there  
an exhaustive list?


-- 
Anne van Kesteren
http://annevankesteren.nl/

Received on Friday, 23 December 2011 15:01:31 UTC