| Index: gpu/blink/webgraphicscontext3d_impl.h
 | 
| diff --git a/gpu/blink/webgraphicscontext3d_impl.h b/gpu/blink/webgraphicscontext3d_impl.h
 | 
| index 11a3dc5c018fbd4bb3e549190d7456216cc3737d..ff2ca9707627dee98b1680931f59e27ba1d8e307 100644
 | 
| --- a/gpu/blink/webgraphicscontext3d_impl.h
 | 
| +++ b/gpu/blink/webgraphicscontext3d_impl.h
 | 
| @@ -37,6 +37,7 @@ using blink::WGC3Dfloat;
 | 
|  using blink::WGC3Dclampf;
 | 
|  using blink::WGC3Dintptr;
 | 
|  using blink::WGC3Dsizeiptr;
 | 
| +using blink::WGC3Duint64;
 | 
|  
 | 
|  namespace gpu_blink {
 | 
|  
 | 
| @@ -371,17 +372,6 @@ class GPU_BLINK_EXPORT WebGraphicsContext3DImpl
 | 
|    virtual void viewport(WGC3Dint x, WGC3Dint y,
 | 
|                          WGC3Dsizei width, WGC3Dsizei height);
 | 
|  
 | 
| -  // Support for buffer creation and deletion
 | 
| -  virtual void genBuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void genFramebuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void genRenderbuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void genTextures(WGC3Dsizei count, WebGLId* ids);
 | 
| -
 | 
| -  virtual void deleteBuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void deleteFramebuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void deleteRenderbuffers(WGC3Dsizei count, WebGLId* ids);
 | 
| -  virtual void deleteTextures(WGC3Dsizei count, WebGLId* ids);
 | 
| -
 | 
|    virtual WebGLId createBuffer();
 | 
|    virtual WebGLId createFramebuffer();
 | 
|    virtual WebGLId createRenderbuffer();
 | 
| @@ -566,6 +556,147 @@ class GPU_BLINK_EXPORT WebGraphicsContext3DImpl
 | 
|        WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
 | 
|        WGC3Dsizei width, WGC3Dsizei height);
 | 
|  
 | 
| +  // OpenGL ES 3.0 functions not represented by pre-existing extensions
 | 
| +  virtual void beginTransformFeedback(WGC3Denum primitiveMode);
 | 
| +  virtual void bindBufferBase(WGC3Denum target, WGC3Duint index,
 | 
| +      WGC3Duint buffer);
 | 
| +  virtual void bindBufferRange(WGC3Denum target, WGC3Duint index,
 | 
| +      WGC3Duint buffer, WGC3Dintptr offset, WGC3Dsizeiptr size);
 | 
| +  virtual void bindSampler(WGC3Duint unit, WebGLId sampler);
 | 
| +  virtual void bindTransformFeedback(WGC3Denum target,
 | 
| +      WebGLId transformfeedback);
 | 
| +  virtual void clearBufferfi(WGC3Denum buffer, WGC3Dint drawbuffer,
 | 
| +      WGC3Dfloat depth, WGC3Dint stencil);
 | 
| +  virtual void clearBufferfv(WGC3Denum buffer, WGC3Dint drawbuffer,
 | 
| +      const WGC3Dfloat *value);
 | 
| +  virtual void clearBufferiv(WGC3Denum buffer, WGC3Dint drawbuffer,
 | 
| +      const WGC3Dint *value);
 | 
| +  virtual void clearBufferuiv(WGC3Denum buffer, WGC3Dint drawbuffer,
 | 
| +      const WGC3Duint *value);
 | 
| +  //virtual WGC3Denum clientWaitSync(WebGLId sync, WGC3Dbitfield flags,
 | 
| +  //    WGC3Duint64 timeout);
 | 
| +  //virtual void compressedTexImage3D(WGC3Denum target, WGC3Dint level,
 | 
| +  //    WGC3Denum internalformat, WGC3Dsizei width, WGC3Dsizei height,
 | 
| +  //    WGC3Dsizei depth, WGC3Dint border, WGC3Dsizei imageSize,
 | 
| +  //    const void *data);
 | 
| +  //virtual void compressedTexSubImage3D(WGC3Denum target, WGC3Dint level,
 | 
| +  //    WGC3Dint xoffset, WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dsizei width,
 | 
| +  //    WGC3Dsizei height, WGC3Dsizei depth, WGC3Denum format,
 | 
| +  //    WGC3Dsizei imageSize, const void *data);
 | 
| +  virtual void copyBufferSubData(WGC3Denum readTarget, WGC3Denum writeTarget,
 | 
| +      WGC3Dintptr readOffset, WGC3Dintptr writeOffset, WGC3Dsizeiptr size);
 | 
| +  virtual void copyTexSubImage3D(WGC3Denum target, WGC3Dint level,
 | 
| +      WGC3Dint xoffset, WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dint x,
 | 
| +      WGC3Dint y, WGC3Dsizei width, WGC3Dsizei height);
 | 
| +  virtual WebGLId createSampler();
 | 
| +  virtual WebGLId createTransformFeedback();
 | 
| +  virtual void deleteSampler(WebGLId sampler);
 | 
| +  //virtual void deleteSync(WebGLId sync);
 | 
| +  virtual void deleteTransformFeedback(WebGLId transformfeedback);
 | 
| +  virtual void endTransformFeedback(void);
 | 
| +  //virtual WebGLId fenceSync(WGC3Denum condition, WGC3Dbitfield flags);
 | 
| +  virtual void framebufferTextureLayer(WGC3Denum target, WGC3Denum attachment,
 | 
| +      WGC3Duint texture, WGC3Dint level, WGC3Dint layer);
 | 
| +  virtual void getActiveUniformBlockName(WGC3Duint program,
 | 
| +      WGC3Duint uniformBlockIndex, WGC3Dsizei bufSize, WGC3Dsizei *length,
 | 
| +      WGC3Dchar *uniformBlockName);
 | 
| +  virtual void getActiveUniformBlockiv(WGC3Duint program,
 | 
| +      WGC3Duint uniformBlockIndex, WGC3Denum pname, WGC3Dint *params);
 | 
| +  //virtual void getActiveUniformsiv(WGC3Duint program, WGC3Dsizei uniformCount,
 | 
| +  //    const WGC3Duint *uniformIndices, WGC3Denum pname, WGC3Dint *params);
 | 
| +  virtual WGC3Dint getFragDataLocation(WGC3Duint program,
 | 
| +      const WGC3Dchar *name);
 | 
| +  virtual void getInternalformativ(WGC3Denum target, WGC3Denum internalformat,
 | 
| +      WGC3Denum pname, WGC3Dsizei bufSize, WGC3Dint *params);
 | 
| +  virtual void getSamplerParameterfv(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      WGC3Dfloat *params);
 | 
| +  virtual void getSamplerParameteriv(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      WGC3Dint *params);
 | 
| +  //virtual void getTransformFeedbackVarying(WGC3Duint program, WGC3Duint index,
 | 
| +  //    WGC3Dsizei bufSize, WGC3Dsizei *length, WGC3Dsizei *size,
 | 
| +  //    WGC3Denum *type, WGC3Dchar *name);
 | 
| +  virtual WGC3Duint getUniformBlockIndex(WGC3Duint program,
 | 
| +      const WGC3Dchar *uniformBlockName);
 | 
| +  //virtual void getUniformIndices(WGC3Duint program, WGC3Dsizei uniformCount,
 | 
| +  //    const WGC3Dchar *const*uniformNames, WGC3Duint *uniformIndices);
 | 
| +  //virtual void getUniformuiv(WGC3Duint program, WGC3Dint location,
 | 
| +  //    WGC3Duint *params);
 | 
| +  //virtual void getVertexAttribIiv(WGC3Duint index, WGC3Denum pname,
 | 
| +  //    WGC3Dint *params);
 | 
| +  //virtual void getVertexAttribIuiv(WGC3Duint index, WGC3Denum pname,
 | 
| +  //    WGC3Duint *params);
 | 
| +  virtual void invalidateFramebuffer(WGC3Denum target,
 | 
| +      WGC3Dsizei numAttachments, const WGC3Denum *attachments);
 | 
| +  virtual void invalidateSubFramebuffer(WGC3Denum target,
 | 
| +      WGC3Dsizei numAttachments, const WGC3Denum *attachments, WGC3Dint x,
 | 
| +      WGC3Dint y, WGC3Dsizei width, WGC3Dsizei height);
 | 
| +  virtual WGC3Dboolean isSampler(WebGLId sampler);
 | 
| +  //virtual WGC3Dboolean isSync(WebGLId sync);
 | 
| +  virtual WGC3Dboolean isTransformFeedback(WGC3Duint id);
 | 
| +  virtual void pauseTransformFeedback(void);
 | 
| +  //virtual void programParameteri(WGC3Duint program, WGC3Denum pname,
 | 
| +  //    WGC3Dint value);
 | 
| +  virtual void readBuffer(WGC3Denum src);
 | 
| +  virtual void resumeTransformFeedback(void);
 | 
| +  virtual void samplerParameterf(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      WGC3Dfloat param);
 | 
| +  virtual void samplerParameterfv(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      const WGC3Dfloat *param);
 | 
| +  virtual void samplerParameteri(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      WGC3Dint param);
 | 
| +  virtual void samplerParameteriv(WGC3Duint sampler, WGC3Denum pname,
 | 
| +      const WGC3Dint *param);
 | 
| +  virtual void texImage3D(WGC3Denum target, WGC3Dint level,
 | 
| +      WGC3Dint internalformat, WGC3Dsizei width, WGC3Dsizei height,
 | 
| +      WGC3Dsizei depth, WGC3Dint border, WGC3Denum format, WGC3Denum type,
 | 
| +      const void *pixels);
 | 
| +  virtual void texStorage3D(WGC3Denum target, WGC3Dsizei levels,
 | 
| +      WGC3Denum internalformat, WGC3Dsizei width, WGC3Dsizei height,
 | 
| +      WGC3Dsizei depth);
 | 
| +  virtual void texSubImage3D(WGC3Denum target, WGC3Dint level, WGC3Dint xoffset,
 | 
| +      WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dsizei width, WGC3Dsizei height,
 | 
| +      WGC3Dsizei depth, WGC3Denum format, WGC3Denum type, const void *pixels);
 | 
| +  virtual void transformFeedbackVaryings(WGC3Duint program, WGC3Dsizei count,
 | 
| +      const WGC3Dchar *const*varyings, WGC3Denum bufferMode);
 | 
| +  virtual void uniform1ui(WGC3Dint location, WGC3Duint x);
 | 
| +  virtual void uniform1uiv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      const WGC3Duint *value);
 | 
| +  virtual void uniform2ui(WGC3Dint location, WGC3Duint x, WGC3Duint y);
 | 
| +  virtual void uniform2uiv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      const WGC3Duint *value);
 | 
| +  virtual void uniform3ui(WGC3Dint location, WGC3Duint x, WGC3Duint y,
 | 
| +      WGC3Duint z);
 | 
| +  virtual void uniform3uiv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      const WGC3Duint *value);
 | 
| +  virtual void uniform4ui(WGC3Dint location, WGC3Duint x, WGC3Duint y,
 | 
| +      WGC3Duint z, WGC3Duint w);
 | 
| +  virtual void uniform4uiv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      const WGC3Duint *value);
 | 
| +  virtual void uniformBlockBinding(WGC3Duint program,
 | 
| +      WGC3Duint uniformBlockIndex, WGC3Duint uniformBlockBinding);
 | 
| +  virtual void uniformMatrix2x3fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void uniformMatrix2x4fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void uniformMatrix3x2fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void uniformMatrix3x4fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void uniformMatrix4x2fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void uniformMatrix4x3fv(WGC3Dint location, WGC3Dsizei count,
 | 
| +      WGC3Dboolean transpose, const WGC3Dfloat* value);
 | 
| +  virtual void vertexAttribI4i(WGC3Duint index, WGC3Dint x, WGC3Dint y,
 | 
| +      WGC3Dint z, WGC3Dint w);
 | 
| +  virtual void vertexAttribI4iv(WGC3Duint index, const WGC3Dint *v);
 | 
| +  virtual void vertexAttribI4ui(WGC3Duint index, WGC3Duint x, WGC3Duint y,
 | 
| +      WGC3Duint z, WGC3Duint w);
 | 
| +  virtual void vertexAttribI4uiv(WGC3Duint index, const WGC3Duint *v);
 | 
| +  virtual void vertexAttribIPointer(WGC3Duint index, WGC3Dint size,
 | 
| +      WGC3Denum type, WGC3Dsizei stride, WGC3Dintptr pointer);
 | 
| +  //virtual void waitSync(WebGLId sync, WGC3Dbitfield flags,
 | 
| +  //    WGC3Duint64 timeout);
 | 
| +
 | 
|    virtual GrGLInterface* createGrGLInterface();
 | 
|  
 | 
|    ::gpu::gles2::GLES2Interface* GetGLInterface() {
 | 
| 
 |