IDBCursor::~IDBCursor()
{
+ ASSERT(!m_blobInfo || m_blobInfo->size() == 0);
+}
+
+void IDBCursor::dispose()
+{
handleBlobAcks();
}
handleBlobAcks();
m_blobInfo = blobInfo;
m_valueDirty = true;
+ if (m_blobInfo && m_blobInfo->size() > 0)
+ V8PerIsolateData::from(m_request->scriptState()->isolate())->ensureIDBPendingTransactionMonitor()->registerCursor(*this);
}
m_gotValue = true;
ASSERT(m_request);
m_transaction->db()->ackReceivedBlobs(m_blobInfo.get());
m_blobInfo.clear();
+ V8PerIsolateData::from(m_request->scriptState()->isolate())->ensureIDBPendingTransactionMonitor()->unregisterCursor(*this);
}
}