Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
| index b41167dffcebd9d3496aece0e5c3baa3def9f761..00a8b3881a6b87df0a05305d39d73f31bab5db3e 100644 |
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
| @@ -27,6 +27,7 @@ |
| #include "bindings/core/v8/ExceptionMessages.h" |
| #include "bindings/core/v8/ExceptionState.h" |
| +#include "bindings/core/v8/ScriptWrappableVisitor.h" |
| #include "bindings/core/v8/V8BindingMacros.h" |
| #include "bindings/modules/v8/HTMLCanvasElementOrOffscreenCanvas.h" |
| #include "bindings/modules/v8/WebGLAny.h" |
| @@ -977,6 +978,11 @@ WebGLRenderingContextBase::WebGLRenderingContextBase( |
| &WebGLRenderingContextBase::dispatchContextLostEvent), |
| m_restoreAllowed(false), |
| m_restoreTimer(this, &WebGLRenderingContextBase::maybeRestoreContext), |
| + m_boundArrayBuffer(this, nullptr), |
| + m_boundVertexArrayObject(this, nullptr), |
| + m_currentProgram(this, nullptr), |
| + m_framebufferBinding(this, nullptr), |
| + m_renderbufferBinding(this, nullptr), |
| m_generatedImageCache(4), |
| m_synthesizedErrorsToConsole(true), |
| m_numGLErrorsToConsoleAllowed(maxGLErrorsAllowedToConsole), |
| @@ -1767,6 +1773,7 @@ void WebGLRenderingContextBase::bindTexture(GLenum target, |
| synthesizeGLError(GL_INVALID_ENUM, "bindTexture", "invalid target"); |
| return; |
| } |
| + ScriptWrappableVisitor::writeBarrier(this, texture); |
|
Michael Lippautz
2016/10/12 10:57:12
TextureUnitState didn't use Member<> types before.
haraken
2016/10/12 11:51:28
How about changing Member<>s in TextureUnitState t
Michael Lippautz
2016/10/12 12:50:38
Done.
This exposes one corner case where the comp
|
| contextGL()->BindTexture(target, objectOrZero(texture)); |
| if (texture) { |