Changeset 241913 in webkit


Ignore:
Timestamp:
Feb 21, 2019 3:06:23 PM (5 years ago)
Author:
sihui_liu@apple.com
Message:

IndexedDB: leak UniqueIDBDatabase in layout tests
https://bugs.webkit.org/show_bug.cgi?id=194870
<rdar://problem/48163812>

Reviewed by Geoffrey Garen.

UniqueIDBDatabase owns a pointer to itself after it is hard closed. It should release the pointer when it
receives confirmation from clients and all pending tasks are done. UniqueIDBDatabase already checks whether the
pointer should be released when a database task finishes, but it didn't perform a check when a confirm message
is received.

No new test as the order of task completion and confirmation arrival is uncertain.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::confirmDidCloseFromServer):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r241906 r241913  
     12019-02-21  Sihui Liu  <sihui_liu@apple.com>
     2
     3        IndexedDB: leak UniqueIDBDatabase in layout tests
     4        https://bugs.webkit.org/show_bug.cgi?id=194870
     5        <rdar://problem/48163812>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        UniqueIDBDatabase owns a pointer to itself after it is hard closed. It should release the pointer when it
     10        receives confirmation from clients and all pending tasks are done. UniqueIDBDatabase already checks whether the
     11        pointer should be released when a database task finishes, but it didn't perform a check when a confirm message
     12        is received.
     13
     14        No new test as the order of task completion and confirmation arrival is uncertain.
     15
     16        * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
     17        (WebCore::IDBServer::UniqueIDBDatabase::confirmDidCloseFromServer):
     18
    1192019-02-21  Andy Estes  <aestes@apple.com>
    220
  • trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp

    r241468 r241913  
    15201520    LOG(IndexedDB, "UniqueIDBDatabase::confirmDidCloseFromServer - %s (%" PRIu64 ")", connection.openRequestIdentifier().loggingString().utf8().data(), connection.identifier());
    15211521
     1522    if (m_hardClosedForUserDelete)
     1523        maybeFinishHardClose();
    15221524    ASSERT(m_serverClosePendingDatabaseConnections.contains(&connection));
    15231525    m_serverClosePendingDatabaseConnections.remove(&connection);
Note: See TracChangeset for help on using the changeset viewer.