Modern IDB: TransactionOperation objects leak.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Feb 2016 01:15:09 +0000 (01:15 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Feb 2016 01:15:09 +0000 (01:15 +0000)
commite4be342727241183959876e5ba7b274eeefc164e
tree54a1cfbe413e7966f8abb1ef78c0d0ea4b35b433
parent12f20ab5e223169e4b4f9b64184bfa92d534cdd9
Modern IDB: TransactionOperation objects leak.
https://bugs.webkit.org/show_bug.cgi?id=154054

Reviewed by Alex Christensen.

No new tests (Currently untestable).

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests): Remove the TransactionOperation from
  the map, as this operation doesn't complete "normally" like most others.
(WebCore::IDBClient::IDBTransaction::commitOnServer): Ditto.

* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::perform): Clear the m_performFunction after use,
  as it holds a lambda that holds a RefPtr to the IDBTransaction, as well as a self-ref.
(WebCore::IDBClient::TransactionOperation::completed): Clear m_completeFunction for the same reasons.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.cpp
Source/WebCore/Modules/indexeddb/client/TransactionOperation.h