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

Unified Diff: Source/core/page/ScopedPageLoadDeferrer.cpp

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Back out non-Oilpan experiment + tidy up by adding frame() ref accessors 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/core/page/ScopedPageLoadDeferrer.cpp
diff --git a/Source/core/page/ScopedPageLoadDeferrer.cpp b/Source/core/page/ScopedPageLoadDeferrer.cpp
index 3d9fcd9deab7dd858e1285a0f6b29ac4b22b2a3c..6f788c1060eda1b0261856b5a8b89863b595bb04 100644
--- a/Source/core/page/ScopedPageLoadDeferrer.cpp
+++ b/Source/core/page/ScopedPageLoadDeferrer.cpp
@@ -62,7 +62,7 @@ ScopedPageLoadDeferrer::ScopedPageLoadDeferrer(Page* exclusion)
}
}
-ScopedPageLoadDeferrer::~ScopedPageLoadDeferrer()
+void ScopedPageLoadDeferrer::detach()
{
for (size_t i = 0; i < m_deferredFrames.size(); ++i) {
if (Page* page = m_deferredFrames[i]->page()) {
@@ -76,4 +76,24 @@ ScopedPageLoadDeferrer::~ScopedPageLoadDeferrer()
}
}
+#if ENABLE(OILPAN)
+void ScopedPageLoadDeferrer::dispose()
+{
+ detach();
+ m_deferredFrames.clear();
+}
+#endif
+
+ScopedPageLoadDeferrer::~ScopedPageLoadDeferrer()
+{
+ detach();
+}
+
+void ScopedPageLoadDeferrer::trace(Visitor* visitor)
+{
+#if ENABLE(OILPAN)
+ visitor->trace(m_deferredFrames);
+#endif
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698