#include "core/page/Page.h"
#include "wtf/HashSet.h"
-namespace WebCore {
+namespace blink {
ScopedPageLoadDeferrer::ScopedPageLoadDeferrer(Page* exclusion)
{
const HashSet<Page*>& pages = Page::ordinaryPages();
-
- HashSet<Page*>::const_iterator end = pages.end();
- for (HashSet<Page*>::const_iterator it = pages.begin(); it != end; ++it) {
- Page* page = *it;
+ for (const Page* page : pages) {
if (page == exclusion || page->defersLoading())
continue;
}
}
-ScopedPageLoadDeferrer::~ScopedPageLoadDeferrer()
+void ScopedPageLoadDeferrer::detach()
{
for (size_t i = 0; i < m_deferredFrames.size(); ++i) {
if (Page* page = m_deferredFrames[i]->page()) {
}
}
-} // namespace WebCore
+#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