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 5c875a281eaa1989a87c9b3ade362301eeeda046..a3194c768825fdf08483c5752363f56a4baeab3b 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -7461,6 +7461,28 @@ DEFINE_TRACE(WebGLRenderingContextBase) { |
CanvasRenderingContext::trace(visitor); |
} |
+DEFINE_TRACE_WRAPPERS(WebGLRenderingContextBase) { |
+ if (isContextLost()) { |
+ return; |
+ } |
+ visitor->traceWrappers(m_boundArrayBuffer); |
+ visitor->traceWrappers(m_renderbufferBinding); |
+ visitor->traceWrappers(m_framebufferBinding); |
+ visitor->traceWrappers(m_currentProgram); |
+ visitor->traceWrappers(m_boundVertexArrayObject); |
+ for (auto& unit : m_textureUnits) { |
+ visitor->traceWrappers(unit.m_texture2DBinding); |
+ visitor->traceWrappers(unit.m_textureCubeMapBinding); |
+ visitor->traceWrappers(unit.m_texture3DBinding); |
+ visitor->traceWrappers(unit.m_texture2DArrayBinding); |
+ } |
+ for (ExtensionTracker* tracker : m_extensions) { |
+ WebGLExtension* extension = tracker->getExtensionObjectIfAlreadyEnabled(); |
+ visitor->traceWrappers(extension); |
+ } |
+ CanvasRenderingContext::traceWrappers(visitor); |
+} |
+ |
int WebGLRenderingContextBase::externallyAllocatedBytesPerPixel() { |
if (isContextLost()) |
return 0; |