Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h |
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h |
| index 23479a91c40c872683f81e18756676d6259718c6..e03d8f50567ea105f0a48bcc3885fccc8aaf6f2c 100644 |
| --- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h |
| +++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h |
| @@ -5,6 +5,7 @@ |
| #ifndef WebGL2RenderingContextBase_h |
| #define WebGL2RenderingContextBase_h |
| +#include "bindings/core/v8/ScriptPromise.h" |
| #include "modules/webgl/WebGLExtension.h" |
| #include "modules/webgl/WebGLRenderingContextBase.h" |
| #include <memory> |
| @@ -15,6 +16,7 @@ class WebGLTexture; |
| class WebGLActiveInfo; |
| class WebGLBuffer; |
| +class WebGLGetBufferSubDataAsyncCallback; |
| class WebGLProgram; |
| class WebGLQuery; |
| class WebGLSampler; |
| @@ -27,6 +29,8 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase { |
| public: |
| ~WebGL2RenderingContextBase() override; |
| + void destroyContext() override; |
| + |
| /* Buffer objects */ |
| void bufferData(GLenum, DOMArrayBufferView*, GLenum, GLuint, GLuint); |
| void bufferSubData(GLenum, GLintptr, DOMArrayBufferView*, GLuint, GLuint); |
| @@ -43,6 +47,12 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase { |
| void copyBufferSubData(GLenum, GLenum, long long, long long, long long); |
| void getBufferSubData(GLenum, long long, DOMArrayBufferView*, GLuint, GLuint); |
| + ScriptPromise getBufferSubDataAsync(ScriptState*, |
| + GLenum, |
| + GLintptr, |
| + DOMArrayBufferView*, |
| + GLuint, |
| + GLuint); |
| /* Framebuffer objects */ |
| bool validateTexFuncLayer(const char*, GLenum texTarget, GLint layer); |
| @@ -811,6 +821,29 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase { |
| GLenum target) override; |
| bool validateBufferDataUsage(const char* functionName, GLenum usage) override; |
| + const char* validateGetBufferSubData(const char*, |
| + GLenum, |
| + GLintptr, |
| + DOMArrayBufferView*, |
| + GLuint, |
| + GLuint, |
| + WebGLBuffer**, |
| + void**, |
| + long long*); |
| + const char* validateGetBufferSubDataBounds(const char*, |
| + WebGLBuffer*, |
| + GLintptr, |
| + long long); |
| + |
| + std::set<WebGLGetBufferSubDataAsyncCallback*> |
|
esprehn
2016/10/18 01:44:16
Use HashSet, you don't need the ordering
Kai Ninomiya
2016/10/19 17:54:10
Done.
|
| + m_getBufferSubDataAsyncCallbacks; |
| + |
| + friend class WebGLGetBufferSubDataAsyncCallback; |
|
esprehn
2016/10/18 01:44:16
We usually discourage friends, can we add correct
Kai Ninomiya
2016/10/19 17:54:10
Done.
|
| + void registerGetBufferSubDataAsyncCallback( |
| + WebGLGetBufferSubDataAsyncCallback*); |
| + void unregisterGetBufferSubDataAsyncCallback( |
| + WebGLGetBufferSubDataAsyncCallback*); |
| + |
| bool canUseTexImageByGPU(TexImageFunctionID, |
| GLint internalformat, |
| GLenum type) override; |