diff --git a/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp b/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp index 0965b282acdc64..c3d03cf594b428 100644 --- a/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp +++ b/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp @@ -30,7 +30,7 @@ namespace blink { WebGLContextObject::WebGLContextObject(WebGLRenderingContextBase* context) - : WebGLObject(context), m_context(context) {} + : WebGLObject(context), m_context(this, context) {} bool WebGLContextObject::validate( const WebGLContextGroup*, @@ -55,4 +55,9 @@ DEFINE_TRACE(WebGLContextObject) { WebGLObject::trace(visitor); } +DEFINE_TRACE_WRAPPERS(WebGLContextObject) { + visitor->traceWrappers(m_context); + WebGLObject::traceWrappers(visitor); +} + } // namespace blink diff --git a/third_party/WebKit/Source/modules/webgl/WebGLContextObject.h b/third_party/WebKit/Source/modules/webgl/WebGLContextObject.h index ca65a066de6890..9e70743f62132e 100644 --- a/third_party/WebKit/Source/modules/webgl/WebGLContextObject.h +++ b/third_party/WebKit/Source/modules/webgl/WebGLContextObject.h @@ -26,6 +26,7 @@ #ifndef WebGLContextObject_h #define WebGLContextObject_h +#include "bindings/core/v8/TraceWrapperMember.h" #include "modules/webgl/WebGLObject.h" namespace blink { @@ -43,6 +44,8 @@ class WebGLContextObject : public WebGLObject { DECLARE_VIRTUAL_TRACE(); + DECLARE_VIRTUAL_TRACE_WRAPPERS(); + protected: explicit WebGLContextObject(WebGLRenderingContextBase*); @@ -53,7 +56,7 @@ class WebGLContextObject : public WebGLObject { gpu::gles2::GLES2Interface* getAGLInterface() const final; private: - Member m_context; + TraceWrapperMember m_context; }; } // namespace blink