On Wed, Nov 30, 2011 at 10:38 AM, Kenneth Russell <firstname.lastname@example.org>
I don't feel strongly at all about that. On the contrary, if Chrome hasn't been doing this and nobody's every complained about it, it probably means that it's not a useful feature. So we should keep the spec as-is and I'll remove this feature from Firefox which will also simplify code.
On 28/11/11 08:17 PM, Kenneth Russell wrote:
3. Firefox happens to ensure that identical calls to getUniformLocation
return the _same_ WebGLUniformLocation object, but I don't remember if/where
this is mandated by the spec? And if there is a test for that?
I don't think there is a test for that nor do I think it's in the spec.
Should it be?
It isn't currently in the spec. Similar text could be added as that
I don't have a strong opinion about whether to make this change at the
current time. It seems minor and that it hasn't impacted application
compatibility. Benoit, if you feel strongly, would you sign up for the
spec change and the addition to the conformance suite?
WebKit (both Safari and Chrome) hasn't been caching WebGLUniformLocations. No complaints as far as I have heard.
If we are OK with not caching, then we need to mandate not caching in the spec or people will hang expandos on the return value. This has happened before for other specs and been a real mess to clean up.
This means in particular the following should be false and tested:
context.getUniformLocation(program, "foo") === context.getUniformLocation(program, "foo")
context.getUniformLocation(program, "foo").happy = "lala"; context.getUniformLocation(program, "foo").happy == "lala";
Same goes for any other API that returns a JS object instead of a JS value.