Changeset 259156 in webkit


Ignore:
Timestamp:
Mar 28, 2020 6:07:35 AM (4 years ago)
Author:
commit-queue@webkit.org
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

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r259154 r259156  
     12020-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
    1142020-03-27  Simon Fraser  <simon.fraser@apple.com>
    215
  • trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp

    r259034 r259156  
    172172}
    173173
    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);
     174std::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;
    181183}
    182184
  • trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h

    r259034 r259156  
    9797    void unregisterTransaction(UniqueIDBDatabaseTransaction&);
    9898
    99     void removeUniqueIDBDatabase(const IDBDatabaseIdentifier&);
     99    std::unique_ptr<UniqueIDBDatabase> closeAndTakeUniqueIDBDatabase(UniqueIDBDatabase&);
    100100
    101101    std::unique_ptr<IDBBackingStore> createBackingStore(const IDBDatabaseIdentifier&);
  • trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp

    r259034 r259156  
    380380    m_pendingOpenDBRequests.add(ServerOpenDBRequest::create(connection, requestData));
    381381    handleDatabaseOperations();
    382 
    383     tryCloseAndRemoveFromServer();
    384382}
    385383
     
    949947            handleTransactions();
    950948
    951             tryCloseAndRemoveFromServer();
    952949            return;
    953950        }
     
    965962    handleDatabaseOperations();
    966963    handleTransactions();
    967 
    968     tryCloseAndRemoveFromServer();
    969964}
    970965
     
    11961191}
    11971192
    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 
    12101193RefPtr<ServerOpenDBRequest> UniqueIDBDatabase::takeNextRunnableRequest(RequestType requestType)
    12111194{
  • trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h

    r259034 r259156  
    137137    void didDeleteBackingStore(uint64_t deletedVersion);
    138138    void close();
    139     void tryCloseAndRemoveFromServer();
    140139
    141140    bool isCurrentlyInUse() const;
Note: See TracChangeset for help on using the changeset viewer.