Title: [259156] trunk/Source/WebCore
- Revision
- 259156
- Author
- [email protected]
- Date
- 2020-03-28 06:07:35 -0700 (Sat, 28 Mar 2020)
Log Message
Unreviewed, reverting r259034.
https://bugs.webkit.org/show_bug.cgi?id=209700
Break StressGC bot (Requested by yusukesuzuki on #webkit).
Reverted changeset:
"IndexedDB: destroy UniqueIDBDatabase when it's not used"
https://bugs.webkit.org/show_bug.cgi?id=209532
https://trac.webkit.org/changeset/259034
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (259155 => 259156)
--- trunk/Source/WebCore/ChangeLog 2020-03-28 10:50:18 UTC (rev 259155)
+++ trunk/Source/WebCore/ChangeLog 2020-03-28 13:07:35 UTC (rev 259156)
@@ -1,3 +1,16 @@
+2020-03-28 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r259034.
+ https://bugs.webkit.org/show_bug.cgi?id=209700
+
+ Break StressGC bot (Requested by yusukesuzuki on #webkit).
+
+ Reverted changeset:
+
+ "IndexedDB: destroy UniqueIDBDatabase when it's not used"
+ https://bugs.webkit.org/show_bug.cgi?id=209532
+ https://trac.webkit.org/changeset/259034
+
2020-03-27 Simon Fraser <[email protected]>
Define ENABLE_WHEEL_EVENT_LATCHING and use it to wrap wheel event latching code
Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (259155 => 259156)
--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp 2020-03-28 10:50:18 UTC (rev 259155)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp 2020-03-28 13:07:35 UTC (rev 259156)
@@ -171,13 +171,15 @@
database->handleDelete(*connection, requestData);
}
-void IDBServer::removeUniqueIDBDatabase(const IDBDatabaseIdentifier& identifier)
+std::unique_ptr<UniqueIDBDatabase> IDBServer::closeAndTakeUniqueIDBDatabase(UniqueIDBDatabase& database)
{
- LOG(IndexedDB, "IDBServer::removeUniqueIDBDatabase");
- ASSERT(!isMainThread());
+ LOG(IndexedDB, "IDBServer::closeUniqueIDBDatabase");
+ ASSERT(isMainThread());
- auto removed = m_uniqueIDBDatabaseMap.remove(identifier);
- ASSERT_UNUSED(removed, removed);
+ auto uniquePointer = m_uniqueIDBDatabaseMap.take(database.identifier());
+ ASSERT(uniquePointer);
+
+ return uniquePointer;
}
void IDBServer::abortTransaction(const IDBResourceIdentifier& transactionIdentifier)
Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h (259155 => 259156)
--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h 2020-03-28 10:50:18 UTC (rev 259155)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h 2020-03-28 13:07:35 UTC (rev 259156)
@@ -96,7 +96,7 @@
void registerTransaction(UniqueIDBDatabaseTransaction&);
void unregisterTransaction(UniqueIDBDatabaseTransaction&);
- void removeUniqueIDBDatabase(const IDBDatabaseIdentifier&);
+ std::unique_ptr<UniqueIDBDatabase> closeAndTakeUniqueIDBDatabase(UniqueIDBDatabase&);
std::unique_ptr<IDBBackingStore> createBackingStore(const IDBDatabaseIdentifier&);
Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (259155 => 259156)
--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2020-03-28 10:50:18 UTC (rev 259155)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2020-03-28 13:07:35 UTC (rev 259156)
@@ -379,8 +379,6 @@
m_pendingOpenDBRequests.add(ServerOpenDBRequest::create(connection, requestData));
handleDatabaseOperations();
-
- tryCloseAndRemoveFromServer();
}
void UniqueIDBDatabase::startVersionChangeTransaction()
@@ -948,7 +946,6 @@
handleDatabaseOperations();
handleTransactions();
- tryCloseAndRemoveFromServer();
return;
}
}
@@ -964,8 +961,6 @@
// Now that a database connection has closed, previously blocked operations might be runnable.
handleDatabaseOperations();
handleTransactions();
-
- tryCloseAndRemoveFromServer();
}
void UniqueIDBDatabase::connectionClosedFromServer(UniqueIDBDatabaseConnection& connection)
@@ -1195,18 +1190,6 @@
}
}
-void UniqueIDBDatabase::tryCloseAndRemoveFromServer()
-{
- if (m_backingStore && m_backingStore->isEphemeral())
- return;
-
- if (hasAnyOpenConnections() || m_versionChangeDatabaseConnection)
- return;
-
- close();
- m_server.removeUniqueIDBDatabase(m_identifier);
-}
-
RefPtr<ServerOpenDBRequest> UniqueIDBDatabase::takeNextRunnableRequest(RequestType requestType)
{
// Connection of request may be closed or lost.
Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h (259155 => 259156)
--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2020-03-28 10:50:18 UTC (rev 259155)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2020-03-28 13:07:35 UTC (rev 259156)
@@ -136,7 +136,6 @@
void deleteBackingStore();
void didDeleteBackingStore(uint64_t deletedVersion);
void close();
- void tryCloseAndRemoveFromServer();
bool isCurrentlyInUse() const;
void clearStalePendingOpenDBRequests();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes