RESOLVED FIXED 129110
An unresolved WebGL Context should operate normally until used
https://bugs.webkit.org/show_bug.cgi?id=129110
Summary An unresolved WebGL Context should operate normally until used
Dean Jackson
Reported 2014-02-20 10:24:51 PST
If a WebGLRenderingContext was created in an unresolved state, then it should appear normal until it is used, at which point it needs to resolve itself. This allows for the common use of feature detection to happen without: - causing a blocking policy resolution - swapping to the discrete GPU on dual GPU systems
Attachments
Patch (82.45 KB, patch)
2014-02-20 14:02 PST, Dean Jackson
bfulgham: review+
Dean Jackson
Comment 1 2014-02-20 14:02:14 PST
Dean Jackson
Comment 2 2014-02-20 14:07:25 PST
Brent Fulgham
Comment 3 2014-02-20 14:51:38 PST
Comment on attachment 224795 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=224795&action=review The only thing I don't get here is how do we decide we are in a pending state? Does webGLPolicyForURL do something clever? > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:410 > + Extra blank line! > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3313 > + // FIXME: We don't currently do anything with the result from resolution. A more Should we have a bug filed here so we don't forget about it? > Source/WebCore/html/canvas/WebGLRenderingContext.h:342 > + WebGLRenderingContext(HTMLCanvasElement*, GraphicsContext3D::Attributes); Should this special constructor be private to prevent unintentional use of it outside of the "pending" use case?
Dean Jackson
Comment 4 2014-02-20 14:57:17 PST
(In reply to comment #3) > (From update of attachment 224795 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=224795&action=review > > The only thing I don't get here is how do we decide we are in a pending state? Does webGLPolicyForURL do something clever? > > > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:410 > > + > > Extra blank line! > > > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3313 > > + // FIXME: We don't currently do anything with the result from resolution. A more > > Should we have a bug filed here so we don't forget about it? Yes. I will file one (although I don't expect we'll fix it soon) > > > Source/WebCore/html/canvas/WebGLRenderingContext.h:342 > > + WebGLRenderingContext(HTMLCanvasElement*, GraphicsContext3D::Attributes); > > Should this special constructor be private to prevent unintentional use of it outside of the "pending" use case? It already is :)
Dean Jackson
Comment 5 2014-02-20 15:08:53 PST
Note You need to log in before you can comment on or make changes to this bug.