Re: [Canvas] proposal for supportsContext

On Sep 11, 2012, at 9:37 AM, Travis Leithead <travis.leithead@microsoft.com> wrote:

> Hmm. Seems like this still incurs the cost of spinning up a context. Never mind :(

This is similar to what we'd originally proposed doing, which is hiding (returning undefined or null) WebGLRenderingContext when we do not support WebGL. We can do it, but it's slightly ugly.

The main complaint about all this is that users still need to create the context in order to know for sure it is possible, and therefore will create the context no matter what helper functions we provide.

Dean

> 
>> -----Original Message-----
>> From: Travis Leithead
>> Sent: Tuesday, September 11, 2012 9:12 AM
>> To: 'Robin Berjon'; Dean Jackson
>> Cc: public-html@w3.org
>> Subject: RE: [Canvas] proposal for supportsContext
>> 
>> On the other hand, you could change the way that the 3d context is
>> obtained from the canvas element, to better allow feature detection...
>> 
>> if (canvas.context3d) {
>>   ...
>> }
>> 
>> ??
>> 
>>> -----Original Message-----
>>> From: Robin Berjon [mailto:robin@w3.org]
>>> Sent: Tuesday, September 11, 2012 1:41 AM
>>> To: Dean Jackson
>>> Cc: public-html@w3.org
>>> Subject: Re: [Canvas] proposal for supportsContext
>>> 
>>> Hi Dean,
>>> 
>>> On 10/09/2012 20:11 , Dean Jackson wrote:
>>>> I propose adding a new method to HTMLCanvasElement:
>>>> 
>>>> interface HTMLCanvasElement : HTMLElement {
>>>>   boolean supportsContext(DOMString contextId, any... arguments);
>>>> };
>>>> 
>>>> supportsContext takes the same parameters as getContext, and simply
>>> returns
>>>> true if the corresponding call to getContext would have returned a
>> valid
>>>> context, false otherwise.
>>> 
>>> I like it. My only concern is about why this would work when
>>> hasFeature() failed so miserably. I guess that it covers a sufficiently
>>> limited set that it will be done right.
>>> 
>>> --
>>> Robin Berjon - http://berjon.com/ - @robinberjon
>>> 
> 
> 

Received on Tuesday, 11 September 2012 16:48:12 UTC