Title: [135747] branches/chromium/1312/Source/WebCore/dom/Document.cpp
Revision
135747
Author
[email protected]
Date
2012-11-26 11:42:13 -0800 (Mon, 26 Nov 2012)

Log Message

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

Patch by Marja Hölttä <[email protected]> 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):

[email protected]
Review URL: https://codereview.chromium.org/11415134

Modified Paths

Diff

Modified: branches/chromium/1312/Source/WebCore/dom/Document.cpp (135746 => 135747)


--- branches/chromium/1312/Source/WebCore/dom/Document.cpp	2012-11-26 19:37:45 UTC (rev 135746)
+++ branches/chromium/1312/Source/WebCore/dom/Document.cpp	2012-11-26 19:42:13 UTC (rev 135747)
@@ -656,9 +656,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
@@ -2151,6 +2148,9 @@
     // callers of Document::detach().
     m_frame = 0;
     m_renderArena.clear();
+
+    if (m_mediaQueryMatcher)
+        m_mediaQueryMatcher->documentDestroyed();
 }
 
 void Document::prepareForDestruction()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to