Log Message
Merged r243104 - REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering https://bugs.webkit.org/show_bug.cgi?id=195322
Reviewed by Ryosuke Niwa. Since r236862, DOMWindow objects get disconnected from their Frame object as soon as their iframe element gets removed from the document. Previously, DOMWindow was a FrameDestructionObserver and would stay connected to its frame until the frame died. This means that some of the work that we were doing in DOMWindow::frameDestroyed() and Document::willDetachPage() no longer happens for subframe windows because they get disconnected from their frame because they get a chance to get such notifications. To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame() which gets called when the iframe gets removed from the document and the document / window get disconnected from the Frame element. No new tests, verified locally that the leak is gone on JetStream. * page/DOMWindow.cpp: (WebCore::DOMWindow::willDetachDocumentFromFrame):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog (243567 => 243568)
--- releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog 2019-03-27 23:09:51 UTC (rev 243567)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog 2019-03-27 23:32:34 UTC (rev 243568)
@@ -1,3 +1,26 @@
+2019-03-18 Chris Dumez <[email protected]>
+
+ REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
+ https://bugs.webkit.org/show_bug.cgi?id=195322
+
+ Reviewed by Ryosuke Niwa.
+
+ Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
+ their iframe element gets removed from the document. Previously, DOMWindow was a
+ FrameDestructionObserver and would stay connected to its frame until the frame died.
+
+ This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
+ Document::willDetachPage() no longer happens for subframe windows because they get
+ disconnected from their frame because they get a chance to get such notifications.
+ To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
+ which gets called when the iframe gets removed from the document and the document / window
+ get disconnected from the Frame element.
+
+ No new tests, verified locally that the leak is gone on JetStream.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::willDetachDocumentFromFrame):
+
2019-03-12 Philippe Normand <[email protected]>
[GStreamer][v4l2] Synchronous video texture flushing support
Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/page/DOMWindow.cpp (243567 => 243568)
--- releases/WebKitGTK/webkit-2.24/Source/WebCore/page/DOMWindow.cpp 2019-03-27 23:09:51 UTC (rev 243567)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/page/DOMWindow.cpp 2019-03-27 23:32:34 UTC (rev 243568)
@@ -486,6 +486,9 @@
if (m_performance)
m_performance->clearResourceTimings();
+
+ JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(this);
+ InspectorInstrumentation::frameWindowDiscarded(*frame(), this);
}
#if ENABLE(GAMEPAD)
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
