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 |