Index: Source/web/WebFrame.cpp |
diff --git a/Source/web/WebFrame.cpp b/Source/web/WebFrame.cpp |
index 7fbdac76057e344dda465878c00fb1a4cde75209..826f69d06bb99574a13a752590594315a9d81917 100644 |
--- a/Source/web/WebFrame.cpp |
+++ b/Source/web/WebFrame.cpp |
@@ -8,6 +8,7 @@ |
#include "core/frame/RemoteFrame.h" |
#include "core/html/HTMLFrameOwnerElement.h" |
#include "platform/UserGestureIndicator.h" |
+#include "platform/heap/Handle.h" |
#include "web/OpenedFrameTracker.h" |
#include "web/WebLocalFrameImpl.h" |
#include "web/WebRemoteFrameImpl.h" |
@@ -28,7 +29,7 @@ Frame* toCoreFrame(const WebFrame* frame) |
bool WebFrame::swap(WebFrame* frame) |
{ |
using std::swap; |
- RefPtr<Frame> oldFrame = toCoreFrame(this); |
+ RefPtrWillBeRawPtr<Frame> oldFrame = toCoreFrame(this); |
// All child frames must be detached first. |
oldFrame->detachChildren(); |
@@ -230,4 +231,20 @@ WebFrame::~WebFrame() |
m_openedFrameTracker.reset(0); |
} |
+void WebFrame::traceChildren(Visitor* visitor, WebFrame* frame) |
haraken
2014/09/22 05:35:23
Just to confirm: We just need to trace children an
sof
2014/09/22 08:26:38
I'd say so, yes - if we assume that the topmost fr
haraken
2014/09/22 08:32:55
Yeah, that's what I wanted to ask :)
If this trac
sof
2014/09/22 09:52:51
Hmm. I'm going to try to keep this WebFrame tracin
|
+{ |
+#if ENABLE(OILPAN) |
+ // Trace the children frames. |
+ WebFrame* child = frame ? frame->firstChild() : 0; |
+ while (child) { |
+ if (child->isWebLocalFrame()) |
+ visitor->trace(toWebLocalFrameImpl(child)); |
+ else |
+ visitor->trace(toWebRemoteFrameImpl(child)); |
+ |
+ child = child->nextSibling(); |
+ } |
+#endif |
+} |
+ |
} // namespace blink |