Hardly.  Right now we already do the type checking in the generated
toType(argument) functions.  Instead of casting to null, we throw a
TypeError, which adds no extra cost if the type is correct.

Besides, where I looked, after toType(argument) call, exception is
checked.  Only that currently toType(argument) is not generating
exceptions.

Mo

On Thu, Aug 12, 2010 at 9:20 AM, Sam Weinig <[email protected]> wrote:
>
>
> On Wed, Aug 11, 2010 at 10:58 PM, Darin Fisher <[email protected]> wrote:
>>
>> On Wed, Aug 11, 2010 at 10:37 PM, Sam Weinig <[email protected]> wrote:
>>>
>>> On Wed, Aug 11, 2010 at 10:29 PM, Cedric Vivier <[email protected]>
>>> wrote:
>>>>
>>>> On Thu, Aug 12, 2010 at 13:26, Sam Weinig <[email protected]> wrote:
>>>>>
>>>>> For this specific case, it seems like you could easily check for a null
>>>>> WebGLProgram* in WebGLRenderingContext::useProgram and set the
>>>>> ExceptionCode.
>>>>
>>>> Nope, null is a valid argument, it bounds to the initial program, which
>>>> means nothing will be drawn with WebGL.
>>>> Certainly not the expected behavior when one pass the wrong type to the
>>>> argument like Zhenyao pointed out, therefore throwing TypeError really 
>>>> makes
>>>> sense here (and elsewhere with WebGL API).
>>>
>>> Ok, in that case, it seems like you need to do it in the bindings for
>>> this. I would prefer not making a sweeping change at this time, and instead
>>> keeping the changes just to places where the extra checking is necessary due
>>> to ambiguity (as in this useProgram case).
>>> -Sam
>>
>> Out of curiosity, if we have the ability for code to be auto generated
>> from the IDL, why not use it universally?  I'm trying to guess to understand
>> your preference :)
>> -Darin
>
> My concern with doing it universally is the performance cost of doing the
> check twice in many places (once in the bindings and once in the
> implementation with a null check). We could certainly re-evaluate the way we
> do these type checks, potentially even converting the existing null checks
> in the implementation to asserts, but I think that discussion shouldn't be
> conflated with this bug fix.
> -Sam
> _______________________________________________
> webkit-dev mailing list
> [email protected]
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
>
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to