Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / page / ScopedPageLoadDeferrer.cpp
index 9ee79b6..f1241ed 100644 (file)
 #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;
 
@@ -62,7 +59,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 +73,24 @@ ScopedPageLoadDeferrer::~ScopedPageLoadDeferrer()
     }
 }
 
-} // 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