[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Firefox 4 and blacklist reporting





----- Original Message -----
> On Mon, Mar 28, 2011 at 11:18 AM, Benoit Jacob <bjacob@mozilla.com>
> wrote:
> > Hi,
> >
> > ________________________________
> >
> > Hi all -- I work on Google Body. Our latest "check WebGL
> > capabilities" code
> > will look approximately like this:
> > ÂÂ Â* * *
> >
> > // 0 = OK. 1 = no GL. 2 = GL couldn't initialize. Other = error
> > text.
> > function testGL() {
> > ÂÂtry {
> > ÂÂ Âif (!window.WebGLRenderingContext) { return 1; }
> > ÂÂ Âvar canvas = document.getElementById('gltest');
> > ÂÂ Âvar gl = canvas.getContext('webgl');
> > ÂÂ Âif (!gl) {
> > ÂÂ Â Âgl = canvas.getContext('experimental-webgl');
> > ÂÂ Â}
> > ÂÂ Âif (!gl) { return 2; }
> > ÂÂ Âreturn 0;
> > ÂÂ} catch(err) {
> > ÂÂ Â// [report err.message]
> > ÂÂ}
> > }
> > ÂÂ Â* * *
> >
> > Using FF4/Mac on OS X 10.5.8, the above throws an exception, with
> > err.message =
> > ÂÂ Â"Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)
> > [nsIDOMHTMLCanvasElement.getContext]"
> >
> > I understand from the Firefox blocklist wiki page that Firefox is
> > blacklisting WebGL. I'm curious why this is being reported via an
> > exception.
> >
> > Does the spec say something about that? Or have other browsers
> > agreed on
> > behavior in that case?
> 
> The spec says that getContext() is supposed to return null, not throw
> an exception, and report a webglcontextcreationerror. See
> http://www.khronos.org/registry/webgl/specs/latest/#5.14.3 .

Thanks! I had missed that part. I filed a bug and will try to work on it as soon as I can,
  https://bugzilla.mozilla.org/show_bug.cgi?id=645792

Benoit

> 
> -Ken
> 
> > The problem I'm having is that I want to show different UI for these
> > two
> > cases:
> > ÂÂ- GL is blacklisted (=> fine, can take user to troubleshooting
> > ÂÂpage and
> > coach them through it)
> > ÂÂ- A Javascript error occurred (=> not fine, need to investigate)
> > and I'm not sure what the best way going forward is to distinguish
> > those
> > cases.
> >
> > I think I understand your concern: that adding this try {...} catch
> > block
> > may hide javascript errors. But so far, this had been the standard
> > way of
> > creating WebGL contexts, see the WebGL conformance tests,
> > get.webgl.org,
> > etc.
> >
> > If other browser implementers think that we should not generate JS
> > exceptions in getContext() on blacklisted drivers/systems, I'm not
> > opposed
> > to such a change. Would getContext() then just return null? I
> > couldn't find
> > in the spec anything about errors in getContext and return values?
> >
> > Benoit
> >

-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email:
unsubscribe public_webgl
-----------------------------------------------------------