Title: [150978] branches/safari-537.43-branch/Source/WebKit2
Revision
150978
Author
[email protected]
Date
2013-05-30 13:51:44 -0700 (Thu, 30 May 2013)

Log Message

Merged r150648.  <rdar://problem/13976781>

Modified Paths

Diff

Modified: branches/safari-537.43-branch/Source/WebKit2/ChangeLog (150977 => 150978)


--- branches/safari-537.43-branch/Source/WebKit2/ChangeLog	2013-05-30 20:50:03 UTC (rev 150977)
+++ branches/safari-537.43-branch/Source/WebKit2/ChangeLog	2013-05-30 20:51:44 UTC (rev 150978)
@@ -1,3 +1,22 @@
+2013-05-30  Lucas Forschler  <[email protected]>
+
+        Merge r150648
+
+    2013-05-24  Anders Carlsson  <[email protected]>
+
+            Intermittent crash when typing in Address Bar
+            https://bugs.webkit.org/show_bug.cgi?id=116728
+            <rdar://problem/13976781>
+
+            Reviewed by Sam Weinig.
+
+            If a web process connection has been removed from the storage manager because we disconnected it
+            since there were no more active pages associated with the web process, we'll fail to find it here
+            so just return early instead of crashing.
+
+            * UIProcess/Storage/StorageManager.cpp:
+            (WebKit::StorageManager::destroyStorageMap):
+
 2013-05-29  Lucas Forschler  <[email protected]>
 
         Merge r150936

Modified: branches/safari-537.43-branch/Source/WebKit2/UIProcess/Storage/StorageManager.cpp (150977 => 150978)


--- branches/safari-537.43-branch/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2013-05-30 20:50:03 UTC (rev 150977)
+++ branches/safari-537.43-branch/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2013-05-30 20:51:44 UTC (rev 150978)
@@ -496,10 +496,11 @@
     ASSERT((HashMap<std::pair<RefPtr<CoreIPC::Connection>, uint64_t>, RefPtr<StorageArea>>::isValidKey(connectionAndStorageMapIDPair)));
 
     HashMap<std::pair<RefPtr<CoreIPC::Connection>, uint64_t>, RefPtr<StorageArea>>::iterator it = m_storageAreasByConnection.find(connectionAndStorageMapIDPair);
+    if (it == m_storageAreasByConnection.end()) {
+        // The connection has been removed because the last page was closed.
+        return;
+    }
 
-    // FIXME: This should be a message check.
-    ASSERT(it != m_storageAreasByConnection.end());
-
     it->value->removeListener(connection, storageMapID);
     m_storageAreasByConnection.remove(connectionAndStorageMapIDPair);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to