Title: [135709] trunk/Source/WebCore
Revision
135709
Author
commit-qu...@webkit.org
Date
2012-11-26 05:41:20 -0800 (Mon, 26 Nov 2012)

Log Message

Circular reference between Document and MediaQueryMatcher.
https://bugs.webkit.org/show_bug.cgi?id=103242

Patch by Marja Hölttä <ma...@chromium.org> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
since MediaQueryListListener keeps the Document alive. This caused
www.crbug.com/113983.

No new tests: No visible change in behavior (except that it doesn't leak memory).

* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::detach):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (135708 => 135709)


--- trunk/Source/WebCore/ChangeLog	2012-11-26 13:37:20 UTC (rev 135708)
+++ trunk/Source/WebCore/ChangeLog	2012-11-26 13:41:20 UTC (rev 135709)
@@ -1,3 +1,20 @@
+2012-11-26  Marja Hölttä  <ma...@chromium.org>
+
+        Circular reference between Document and MediaQueryMatcher.
+        https://bugs.webkit.org/show_bug.cgi?id=103242
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
+        since MediaQueryListListener keeps the Document alive. This caused
+        www.crbug.com/113983.
+
+        No new tests: No visible change in behavior (except that it doesn't leak memory).
+
+        * dom/Document.cpp:
+        (WebCore::Document::~Document):
+        (WebCore::Document::detach):
+
 2012-11-26  Eugene Klyuchnikov  <eus...@chromium.org>
 
         Web Inspector: HeapProfiler: remove snapshotView reference from data-grids.

Modified: trunk/Source/WebCore/dom/Document.cpp (135708 => 135709)


--- trunk/Source/WebCore/dom/Document.cpp	2012-11-26 13:37:20 UTC (rev 135708)
+++ trunk/Source/WebCore/dom/Document.cpp	2012-11-26 13:41:20 UTC (rev 135709)
@@ -648,9 +648,6 @@
 
     m_weakReference->clear();
 
-    if (m_mediaQueryMatcher)
-        m_mediaQueryMatcher->documentDestroyed();
-
     clearStyleResolver(); // We need to destory CSSFontSelector before destroying m_cachedResourceLoader.
 
     // It's possible for multiple Documents to end up referencing the same CachedResourceLoader (e.g., SVGImages
@@ -2142,6 +2139,9 @@
     // callers of Document::detach().
     m_frame = 0;
     m_renderArena.clear();
+
+    if (m_mediaQueryMatcher)
+        m_mediaQueryMatcher->documentDestroyed();
 }
 
 void Document::prepareForDestruction()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to