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

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 r182224 conflict 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..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)
Mads Ager (chromium) 2014/09/18 12:00:59 It is probably a good idea to continue to trace th
sof 2014/09/18 13:31:15 Very good point, I hadn't realized the implication
+{
+#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