| Index: third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp
 | 
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp
 | 
| index 178f8d14a49e5103f29408adc77ba5d348b1202a..e4e7bcd0dad5071bcbf66284ad842fc88898342e 100644
 | 
| --- a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp
 | 
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp
 | 
| @@ -40,6 +40,9 @@ class WebGLRenderbufferAttachment final
 | 
|    static WebGLFramebuffer::WebGLAttachment* create(WebGLRenderbuffer*);
 | 
|  
 | 
|    DECLARE_VIRTUAL_TRACE();
 | 
| +  DEFINE_INLINE_VIRTUAL_TRACE_WRAPPERS() {
 | 
| +    visitor->traceWrappers(m_renderbuffer);
 | 
| +  }
 | 
|  
 | 
|   private:
 | 
|    explicit WebGLRenderbufferAttachment(WebGLRenderbuffer*);
 | 
| @@ -55,7 +58,7 @@ class WebGLRenderbufferAttachment final
 | 
|                  GLenum target,
 | 
|                  GLenum attachment) override;
 | 
|  
 | 
| -  Member<WebGLRenderbuffer> m_renderbuffer;
 | 
| +  TraceWrapperMember<WebGLRenderbuffer> m_renderbuffer;
 | 
|  };
 | 
|  
 | 
|  WebGLFramebuffer::WebGLAttachment* WebGLRenderbufferAttachment::create(
 | 
| @@ -70,7 +73,7 @@ DEFINE_TRACE(WebGLRenderbufferAttachment) {
 | 
|  
 | 
|  WebGLRenderbufferAttachment::WebGLRenderbufferAttachment(
 | 
|      WebGLRenderbuffer* renderbuffer)
 | 
| -    : m_renderbuffer(renderbuffer) {}
 | 
| +    : m_renderbuffer(this, renderbuffer) {}
 | 
|  
 | 
|  WebGLSharedObject* WebGLRenderbufferAttachment::object() const {
 | 
|    return m_renderbuffer->object() ? m_renderbuffer.get() : 0;
 | 
| @@ -110,6 +113,7 @@ class WebGLTextureAttachment final : public WebGLFramebuffer::WebGLAttachment {
 | 
|                                                     GLint layer);
 | 
|  
 | 
|    DECLARE_VIRTUAL_TRACE();
 | 
| +  DEFINE_INLINE_VIRTUAL_TRACE_WRAPPERS() { visitor->traceWrappers(m_texture); }
 | 
|  
 | 
|   private:
 | 
|    WebGLTextureAttachment(WebGLTexture*,
 | 
| @@ -128,7 +132,7 @@ class WebGLTextureAttachment final : public WebGLFramebuffer::WebGLAttachment {
 | 
|                  GLenum target,
 | 
|                  GLenum attachment) override;
 | 
|  
 | 
| -  Member<WebGLTexture> m_texture;
 | 
| +  TraceWrapperMember<WebGLTexture> m_texture;
 | 
|    GLenum m_target;
 | 
|    GLint m_level;
 | 
|    GLint m_layer;
 | 
| @@ -151,7 +155,10 @@ WebGLTextureAttachment::WebGLTextureAttachment(WebGLTexture* texture,
 | 
|                                                 GLenum target,
 | 
|                                                 GLint level,
 | 
|                                                 GLint layer)
 | 
| -    : m_texture(texture), m_target(target), m_level(level), m_layer(layer) {}
 | 
| +    : m_texture(this, texture),
 | 
| +      m_target(target),
 | 
| +      m_level(level),
 | 
| +      m_layer(layer) {}
 | 
|  
 | 
|  WebGLSharedObject* WebGLTextureAttachment::object() const {
 | 
|    return m_texture->object() ? m_texture.get() : 0;
 | 
| @@ -540,7 +547,7 @@ DEFINE_TRACE(WebGLFramebuffer) {
 | 
|  
 | 
|  DEFINE_TRACE_WRAPPERS(WebGLFramebuffer) {
 | 
|    for (const auto& attachment : m_attachments) {
 | 
| -    visitor->traceWrappers(attachment.value->object());
 | 
| +    visitor->traceWrappers(attachment.value);
 | 
|    }
 | 
|    WebGLContextObject::traceWrappers(visitor);
 | 
|  }
 | 
| 
 |