Index: Source/web/WebLocalFrameImpl.cpp |
diff --git a/Source/web/WebLocalFrameImpl.cpp b/Source/web/WebLocalFrameImpl.cpp |
index 31de10a9e100539a50efc577e2736c22cb9b32f3..80d40dc1f24f7c9246d33737fd844a5a0df736d9 100644 |
--- a/Source/web/WebLocalFrameImpl.cpp |
+++ b/Source/web/WebLocalFrameImpl.cpp |
@@ -1575,16 +1575,21 @@ WebLocalFrameImpl::~WebLocalFrameImpl() |
cancelPendingScopingEffort(); |
} |
+#if ENABLE(OILPAN) |
void WebLocalFrameImpl::trace(Visitor* visitor) |
{ |
-#if ENABLE(OILPAN) |
visitor->trace(m_frame); |
visitor->trace(m_printContext); |
visitor->trace(m_geolocationClientProxy); |
+ visitor->registerWeakMembers<WebLocalFrameImpl, &WebLocalFrameImpl::clearWeakMembers>(this); |
+ WebFrame::traceFrames(visitor, this); |
+} |
- WebFrame::traceChildren(visitor, this); |
-#endif |
+void WebLocalFrameImpl::clearWeakMembers(Visitor* visitor) |
+{ |
+ WebFrame::clearWeakFrames(visitor, this); |
} |
+#endif |
void WebLocalFrameImpl::setCoreFrame(PassRefPtrWillBeRawPtr<LocalFrame> frame) |
{ |