Changeset 259156 in webkit
- Timestamp:
- Mar 28, 2020 6:07:35 AM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r259154 r259156 1 2020-03-28 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, reverting r259034. 4 https://bugs.webkit.org/show_bug.cgi?id=209700 5 6 Break StressGC bot (Requested by yusukesuzuki on #webkit). 7 8 Reverted changeset: 9 10 "IndexedDB: destroy UniqueIDBDatabase when it's not used" 11 https://bugs.webkit.org/show_bug.cgi?id=209532 12 https://trac.webkit.org/changeset/259034 13 1 14 2020-03-27 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp
r259034 r259156 172 172 } 173 173 174 void IDBServer::removeUniqueIDBDatabase(const IDBDatabaseIdentifier& identifier) 175 { 176 LOG(IndexedDB, "IDBServer::removeUniqueIDBDatabase"); 177 ASSERT(!isMainThread()); 178 179 auto removed = m_uniqueIDBDatabaseMap.remove(identifier); 180 ASSERT_UNUSED(removed, removed); 174 std::unique_ptr<UniqueIDBDatabase> IDBServer::closeAndTakeUniqueIDBDatabase(UniqueIDBDatabase& database) 175 { 176 LOG(IndexedDB, "IDBServer::closeUniqueIDBDatabase"); 177 ASSERT(isMainThread()); 178 179 auto uniquePointer = m_uniqueIDBDatabaseMap.take(database.identifier()); 180 ASSERT(uniquePointer); 181 182 return uniquePointer; 181 183 } 182 184 -
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h
r259034 r259156 97 97 void unregisterTransaction(UniqueIDBDatabaseTransaction&); 98 98 99 void removeUniqueIDBDatabase(const IDBDatabaseIdentifier&);99 std::unique_ptr<UniqueIDBDatabase> closeAndTakeUniqueIDBDatabase(UniqueIDBDatabase&); 100 100 101 101 std::unique_ptr<IDBBackingStore> createBackingStore(const IDBDatabaseIdentifier&); -
trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp
r259034 r259156 380 380 m_pendingOpenDBRequests.add(ServerOpenDBRequest::create(connection, requestData)); 381 381 handleDatabaseOperations(); 382 383 tryCloseAndRemoveFromServer();384 382 } 385 383 … … 949 947 handleTransactions(); 950 948 951 tryCloseAndRemoveFromServer();952 949 return; 953 950 } … … 965 962 handleDatabaseOperations(); 966 963 handleTransactions(); 967 968 tryCloseAndRemoveFromServer();969 964 } 970 965 … … 1196 1191 } 1197 1192 1198 void UniqueIDBDatabase::tryCloseAndRemoveFromServer()1199 {1200 if (m_backingStore && m_backingStore->isEphemeral())1201 return;1202 1203 if (hasAnyOpenConnections() || m_versionChangeDatabaseConnection)1204 return;1205 1206 close();1207 m_server.removeUniqueIDBDatabase(m_identifier);1208 }1209 1210 1193 RefPtr<ServerOpenDBRequest> UniqueIDBDatabase::takeNextRunnableRequest(RequestType requestType) 1211 1194 { -
trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h
r259034 r259156 137 137 void didDeleteBackingStore(uint64_t deletedVersion); 138 138 void close(); 139 void tryCloseAndRemoveFromServer();140 139 141 140 bool isCurrentlyInUse() const;
Note: See TracChangeset
for help on using the changeset viewer.