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) { |