Title: [150648] trunk/Source/WebKit2
- Revision
- 150648
- Author
- [email protected]
- Date
- 2013-05-24 11:09:09 -0700 (Fri, 24 May 2013)
Log Message
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):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (150647 => 150648)
--- trunk/Source/WebKit2/ChangeLog 2013-05-24 18:01:28 UTC (rev 150647)
+++ trunk/Source/WebKit2/ChangeLog 2013-05-24 18:09:09 UTC (rev 150648)
@@ -1,3 +1,18 @@
+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-24 Andreas Kling <[email protected]>
Typing in Safari's unified field causes unnecessary web content repaints.
Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp (150647 => 150648)
--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp 2013-05-24 18:01:28 UTC (rev 150647)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp 2013-05-24 18:09:09 UTC (rev 150648)
@@ -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