Title: [154981] trunk/Source/WebCore
Revision
154981
Author
zandober...@gmail.com
Date
2013-09-03 07:20:59 -0700 (Tue, 03 Sep 2013)

Log Message

REGRESSION(r154967): http appcache tests crashing on WK1
https://bugs.webkit.org/show_bug.cgi?id=120620

Reviewed by Andreas Kling.

* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::cacheDestroyed): Reintroduce pre-r154967 behavior that returned early in
this method if the passed-in ApplicationCache object was not found in the ApplicationCacheGroup's HashSet
of all the caches. This is now done by checking that the HashSet<T>::remove(T) returns true (meaning the
object was found in the HashSet and removed from it) in addition to that HashSet being subsequently empty
before the method moves on to destroying its ApplicationCacheGroup instance.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (154980 => 154981)


--- trunk/Source/WebCore/ChangeLog	2013-09-03 13:36:17 UTC (rev 154980)
+++ trunk/Source/WebCore/ChangeLog	2013-09-03 14:20:59 UTC (rev 154981)
@@ -1,3 +1,17 @@
+2013-09-03  Zan Dobersek  <zdober...@igalia.com>
+
+        REGRESSION(r154967): http appcache tests crashing on WK1
+        https://bugs.webkit.org/show_bug.cgi?id=120620
+
+        Reviewed by Andreas Kling.
+
+        * loader/appcache/ApplicationCacheGroup.cpp:
+        (WebCore::ApplicationCacheGroup::cacheDestroyed): Reintroduce pre-r154967 behavior that returned early in
+        this method if the passed-in ApplicationCache object was not found in the ApplicationCacheGroup's HashSet
+        of all the caches. This is now done by checking that the HashSet<T>::remove(T) returns true (meaning the
+        object was found in the HashSet and removed from it) in addition to that HashSet being subsequently empty
+        before the method moves on to destroying its ApplicationCacheGroup instance.
+
 2013-09-03  Andre Moreira Magalhaes   <andre.magalh...@collabora.co.uk>
 
         [gstreamer] Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data

Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp (154980 => 154981)


--- trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp	2013-09-03 13:36:17 UTC (rev 154980)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp	2013-09-03 14:20:59 UTC (rev 154981)
@@ -387,8 +387,7 @@
 
 void ApplicationCacheGroup::cacheDestroyed(ApplicationCache* cache)
 {
-    m_caches.remove(cache);
-    if (m_caches.isEmpty()) {
+    if (m_caches.remove(cache) && m_caches.isEmpty()) {
         ASSERT(m_associatedDocumentLoaders.isEmpty());
         ASSERT(m_pendingMasterResourceLoaders.isEmpty());
         delete this;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to