Title: [114054] branches/safari-534.57-branch/Source/WebCore
Revision
114054
Author
[email protected]
Date
2012-04-12 17:20:03 -0700 (Thu, 12 Apr 2012)

Log Message

Merged r111108.

Modified Paths

Diff

Modified: branches/safari-534.57-branch/Source/WebCore/ChangeLog (114053 => 114054)


--- branches/safari-534.57-branch/Source/WebCore/ChangeLog	2012-04-13 00:15:50 UTC (rev 114053)
+++ branches/safari-534.57-branch/Source/WebCore/ChangeLog	2012-04-13 00:20:03 UTC (rev 114054)
@@ -1,5 +1,23 @@
 2012-04-12  Lucas Forschler  <[email protected]>
 
+    Merge 111108
+
+    2012-03-16  Dmitry Titov  <[email protected]>
+
+            HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
+            https://bugs.webkit.org/show_bug.cgi?id=80766
+
+            Reviewed by Adam Barth.
+
+            * html/HTMLFrameElementBase.cpp:
+            (WebCore::HTMLFrameElementBase::insertedIntoDocument):
+            (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
+            if adoptNode() is called on a detached iframe or with a detached document,
+            unload the iframe to avoid live iframe to hang around w/o being attached to
+            a document.
+
+2012-04-12  Lucas Forschler  <[email protected]>
+
     Merge 110150
 
     2012-03-07  Adam Barth  <[email protected]>

Modified: branches/safari-534.57-branch/Source/WebCore/html/HTMLFrameElementBase.cpp (114053 => 114054)


--- branches/safari-534.57-branch/Source/WebCore/html/HTMLFrameElementBase.cpp	2012-04-13 00:15:50 UTC (rev 114053)
+++ branches/safari-534.57-branch/Source/WebCore/html/HTMLFrameElementBase.cpp	2012-04-13 00:20:03 UTC (rev 114054)
@@ -167,7 +167,8 @@
 
     if (m_remainsAliveOnRemovalFromTree) {
         updateOnReparenting();
-        setRemainsAliveOnRemovalFromTree(false);
+        m_remainsAliveOnRemovalFromTree = false;
+        m_checkInDocumentTimer.stop();
         return;
     }
     // DocumentFragments don't kick of any loads.
@@ -259,8 +260,10 @@
     // Start the async timer that is normally stopped by attach(). If it's not stopped and fires, it'll unload the frame.
     if (value)
         m_checkInDocumentTimer.startOneShot(0);
-    else
+    else {
         m_checkInDocumentTimer.stop();
+        willRemove();
+    }
 }
 
 void HTMLFrameElementBase::checkInDocumentTimerFired(Timer<HTMLFrameElementBase>*)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to