Title: [195282] releases/WebKitGTK/webkit-2.10/Source/WebCore
Revision
195282
Author
[email protected]
Date
2016-01-19 03:23:11 -0800 (Tue, 19 Jan 2016)

Log Message

Merge r189979 - WebContent crash in WebCore::MemoryPressureHandler::releaseCriticalMemory() with GuardMalloc when preparing to suspend
https://bugs.webkit.org/show_bug.cgi?id=149350

Reviewed by Antti Koivisto.

in MemoryPressureHandler::releaseCriticalMemory(), iterate over a copy of
Document::allDocuments() instead of iterating over allDocuments() directly.
Also make sure the Documents are ref'd inside the copy.

This is needed because clearing the StyleResolver of a Document may cause
Documents to be unref'd and removed from the allDocument() HashSet.

No new tests, already covered by existing tests.

* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseCriticalMemory):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (195281 => 195282)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2016-01-19 10:47:11 UTC (rev 195281)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2016-01-19 11:23:11 UTC (rev 195282)
@@ -1,3 +1,22 @@
+2015-09-18  Chris Dumez  <[email protected]>
+
+        WebContent crash in WebCore::MemoryPressureHandler::releaseCriticalMemory() with GuardMalloc when preparing to suspend
+        https://bugs.webkit.org/show_bug.cgi?id=149350
+
+        Reviewed by Antti Koivisto.
+
+        in MemoryPressureHandler::releaseCriticalMemory(), iterate over a copy of
+        Document::allDocuments() instead of iterating over allDocuments() directly.
+        Also make sure the Documents are ref'd inside the copy.
+
+        This is needed because clearing the StyleResolver of a Document may cause
+        Documents to be unref'd and removed from the allDocument() HashSet.
+
+        No new tests, already covered by existing tests.
+
+        * platform/MemoryPressureHandler.cpp:
+        (WebCore::MemoryPressureHandler::releaseCriticalMemory):
+
 2016-01-16  Jeremy Huddleston Sequoia  <[email protected]>
 
         Add Platform.cpp to ANGLESupport

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/MemoryPressureHandler.cpp (195281 => 195282)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/MemoryPressureHandler.cpp	2016-01-19 10:47:11 UTC (rev 195281)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/MemoryPressureHandler.cpp	2016-01-19 11:23:11 UTC (rev 195282)
@@ -129,7 +129,9 @@
 
     {
         ReliefLogger log("Discard StyleResolvers");
-        for (auto* document : Document::allDocuments())
+        Vector<RefPtr<Document>> documents;
+        copyToVector(Document::allDocuments(), documents);
+        for (auto& document : documents)
             document->clearStyleResolver();
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to