Attachment #450377: GetParameter strings patch for bug #571028

View | Details | Raw Unified | Return to bug 571028
Collapse All | Expand All

(-)a/content/canvas/src/WebGLContextGL.cpp (-10 / +7 lines)
Line     Link Here 
 Lines 1209-1231   WebGLContext::GetParameter(PRUint32 pnam Link Here 
1209
1209
1210
    MakeContextCurrent();
1210
    MakeContextCurrent();
1211
1211
1212
    switch (pname) {
1212
    switch (pname) {
1213
        //
1213
        //
1214
        // String params
1214
        // String params
1215
        //
1215
        //
1216
1216
1217
        // XXX do we want to fake these?  Could be a problem to reveal this to web content
1218
        case LOCAL_GL_VENDOR:
1217
        case LOCAL_GL_VENDOR:
1218
            wrval->SetAsDOMString(NS_LITERAL_STRING("Mozilla"));
1219
            break;
1219
        case LOCAL_GL_RENDERER:
1220
        case LOCAL_GL_RENDERER:
1221
            wrval->SetAsDOMString(NS_LITERAL_STRING("Mozilla"));
1222
            break;
1220
        case LOCAL_GL_VERSION:
1223
        case LOCAL_GL_VERSION:
1224
            wrval->SetAsDOMString(NS_LITERAL_STRING("WebGL 1.0"));
1225
            break;
1221
        case LOCAL_GL_SHADING_LANGUAGE_VERSION:
1226
        case LOCAL_GL_SHADING_LANGUAGE_VERSION:
1222
        //case LOCAL_GL_EXTENSIONS:  // Not going to expose this
1227
            wrval->SetAsDOMString(NS_LITERAL_STRING("WebGL GLSL ES 1.0"));
1223
1224
            break;
1228
            break;
1225
1229
1226
        //
1230
        //
1227
        // Single-value params
1231
        // Single-value params
1228
        //
1232
        //
1229
1233
1230
// int
1234
// int
1231
        case LOCAL_GL_CULL_FACE_MODE:
1235
        case LOCAL_GL_CULL_FACE_MODE:
 Lines 1655-1677   WebGLContext::GetProgramInfoLog(nsIWebGL Link Here 
1655
1659
1656
    log.SetLength(k);
1660
    log.SetLength(k);
1657
1661
1658
    CopyASCIItoUTF16(log, retval);
1662
    CopyASCIItoUTF16(log, retval);
1659
1663
1660
    return NS_OK;
1664
    return NS_OK;
1661
}
1665
}
1662
1666
1663
/* DOMString glGetString (in GLenum name); */
1664
NS_IMETHODIMP
1665
WebGLContext::GetString(WebGLenum name, nsAString & _retval NS_OUTPARAM)
1666
{
1667
    return NS_ERROR_NOT_IMPLEMENTED;
1668
}
1669
1670
/* XXX fix */
1667
/* XXX fix */
1671
/* void texParameter (); */
1668
/* void texParameter (); */
1672
NS_IMETHODIMP
1669
NS_IMETHODIMP
1673
WebGLContext::TexParameterf(WebGLenum target, WebGLenum pname, WebGLfloat param)
1670
WebGLContext::TexParameterf(WebGLenum target, WebGLenum pname, WebGLfloat param)
1674
{
1671
{
1675
    NativeJSContext js;
1672
    NativeJSContext js;
1676
    if (NS_FAILED(js.error))
1673
    if (NS_FAILED(js.error))
1677
        return js.error;
1674
        return js.error;
(-)a/dom/interfaces/canvas/nsICanvasRenderingContextWebGL.idl (-1 lines)
Line     Link Here 
 Lines 686-702   interface nsICanvasRenderingContextWebGL Link Here 
686
686
687
  // Modified: void glGetShaderInfoLog(WebGLuint shader, WebGLsizei bufsize, WebGLsizei* length, char* infolog);
687
  // Modified: void glGetShaderInfoLog(WebGLuint shader, WebGLsizei bufsize, WebGLsizei* length, char* infolog);
688
  DOMString getShaderInfoLog(in nsIWebGLShader shader);
688
  DOMString getShaderInfoLog(in nsIWebGLShader shader);
689
689
690
  // TBD
690
  // TBD
691
  //void glGetShaderPrecisionFormat(WebGLenum shadertype, WebGLenum precisiontype, WebGLint* range, WebGLint* precision);
691
  //void glGetShaderPrecisionFormat(WebGLenum shadertype, WebGLenum precisiontype, WebGLint* range, WebGLint* precision);
692
692
693
  DOMString getShaderSource(in nsIWebGLShader shader);
693
  DOMString getShaderSource(in nsIWebGLShader shader);
694
  DOMString getString(in WebGLenum name);
695
694
696
  void getTexParameter(in WebGLenum target, in WebGLenum pname);
695
  void getTexParameter(in WebGLenum target, in WebGLenum pname);
697
696
698
  void getUniform (in nsIWebGLProgram program, in nsIWebGLUniformLocation location);
697
  void getUniform (in nsIWebGLProgram program, in nsIWebGLUniformLocation location);
699
698
700
  nsIWebGLUniformLocation getUniformLocation (in nsIWebGLProgram program, in DOMString name);
699
  nsIWebGLUniformLocation getUniformLocation (in nsIWebGLProgram program, in DOMString name);
701
700
702
  void getVertexAttrib(in WebGLuint index, in WebGLenum pname);
701
  void getVertexAttrib(in WebGLuint index, in WebGLenum pname);

Return to bug 571028