Title: [202860] trunk/Source/WebCore
Revision
202860
Author
[email protected]
Date
2016-07-06 09:58:37 -0700 (Wed, 06 Jul 2016)

Log Message

Hold RefPtr<>'s to UniqueIDBDatabases while performing user delete.
https://bugs.webkit.org/show_bug.cgi?id=159471

Reviewed by Brent Fulgham.

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (202859 => 202860)


--- trunk/Source/WebCore/ChangeLog	2016-07-06 16:57:41 UTC (rev 202859)
+++ trunk/Source/WebCore/ChangeLog	2016-07-06 16:58:37 UTC (rev 202860)
@@ -1,3 +1,14 @@
+2016-07-06  Brady Eidson  <[email protected]>
+
+        Hold RefPtr<>'s to UniqueIDBDatabases while performing user delete.
+        https://bugs.webkit.org/show_bug.cgi?id=159471
+
+        Reviewed by Brent Fulgham.
+
+        * Modules/indexeddb/server/IDBServer.cpp:
+        (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
+        (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
+
 2016-07-06  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r202725.

Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (202859 => 202860)


--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp	2016-07-06 16:57:41 UTC (rev 202859)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp	2016-07-06 16:58:37 UTC (rev 202860)
@@ -503,11 +503,11 @@
         return;
     }
 
-    HashSet<UniqueIDBDatabase*> openDatabases;
+    HashSet<RefPtr<UniqueIDBDatabase>> openDatabases;
     for (auto* connection : m_databaseConnections.values())
         openDatabases.add(&connection->database());
 
-    for (auto* database : openDatabases)
+    for (auto& database : openDatabases)
         database->immediateCloseForUserDelete();
 
     postDatabaseTask(createCrossThreadTask(*this, &IDBServer::performCloseAndDeleteDatabasesModifiedSince, modificationTime, callbackID));
@@ -519,7 +519,7 @@
     auto addResult = m_deleteDatabaseCompletionHandlers.add(callbackID, WTFMove(completionHandler));
     ASSERT_UNUSED(addResult, addResult.isNewEntry);
 
-    HashSet<UniqueIDBDatabase*> openDatabases;
+    HashSet<RefPtr<UniqueIDBDatabase>> openDatabases;
     for (auto* connection : m_databaseConnections.values()) {
         const auto& identifier = connection->database().identifier();
         for (auto& origin : origins) {
@@ -530,7 +530,7 @@
         }
     }
 
-    for (auto* database : openDatabases)
+    for (auto& database : openDatabases)
         database->immediateCloseForUserDelete();
 
     postDatabaseTask(createCrossThreadTask(*this, &IDBServer::performCloseAndDeleteDatabasesForOrigins, origins, callbackID));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to