Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1557)

Unified Diff: Source/web/WebFrame.cpp

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase past r181764 Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/web/WebFrame.cpp
diff --git a/Source/web/WebFrame.cpp b/Source/web/WebFrame.cpp
index 7fbdac76057e344dda465878c00fb1a4cde75209..8b8a74df22f9277389d52cba9fba8e2e639f50fd 100644
--- a/Source/web/WebFrame.cpp
+++ b/Source/web/WebFrame.cpp
@@ -28,7 +28,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 +230,20 @@ WebFrame::~WebFrame()
m_openedFrameTracker.reset(0);
}
+void WebFrame::trace(Visitor* visitor, WebFrame* frame)
haraken 2014/09/11 14:47:25 trace => traceChildren ? We use "trace" only for
sof 2014/09/12 14:47:40 Good name for it, switched.
+{
+#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

Powered by Google App Engine
This is Rietveld 408576698