Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / OpenedFrameTracker.cpp
index 2120f33..ec3f62f 100644 (file)
@@ -5,6 +5,7 @@
 #include "config.h"
 #include "web/OpenedFrameTracker.h"
 
+#include "platform/heap/Handle.h"
 #include "public/web/WebFrame.h"
 
 namespace blink {
@@ -15,7 +16,10 @@ OpenedFrameTracker::OpenedFrameTracker()
 
 OpenedFrameTracker::~OpenedFrameTracker()
 {
+#if !ENABLE(OILPAN)
+    // Oilpan takes care of clearing weak m_opener fields during GC.
     updateOpener(0);
+#endif
 }
 
 bool OpenedFrameTracker::isEmpty() const
@@ -40,4 +44,13 @@ void OpenedFrameTracker::updateOpener(WebFrame* frame)
         (*it)->m_opener = frame;
 }
 
+void OpenedFrameTracker::traceFrames(Visitor* visitor)
+{
+#if ENABLE(OILPAN)
+    HashSet<WebFrame*>::iterator end = m_openedFrames.end();
+    for (HashSet<WebFrame*>::iterator it = m_openedFrames.begin(); it != end; ++it)
+        WebFrame::traceFrame(visitor, *it);
+#endif
+}
+
 } // namespace blink