Skip to content
  • jsbell@chromium.org's avatar
    IndexedDB: Replace use of ScriptExecutionContext::Task (Part 2) · d7b6d0fb
    jsbell@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=103931
    
    Reviewed by Tony Chang.
    
    Source/WebCore:
    
    Actually drop use of ScriptExecutionContext::Task and remove incorrect usage of
    ThreadSafeRefCounted<>. Define a new IDBTransactionBackendImpl::Operation base class
    for operations; storage of per-operation data becomes explicit.
    
    No new tests - just a refactor.
    
    * Modules/indexeddb/IDBCallbacks.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBCursorBackendImpl.cpp:
    (WebCore::IDBCursorBackendImpl::CursorIterationOperation::create):
    (IDBCursorBackendImpl::CursorIterationOperation):
    (WebCore::IDBCursorBackendImpl::CursorIterationOperation::CursorIterationOperation):
    (WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::create):
    (IDBCursorBackendImpl::CursorAdvanceOperation):
    (WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::CursorAdvanceOperation):
    (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::create):
    (IDBCursorBackendImpl::CursorPrefetchIterationOperation):
    (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):
    (WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::perform):
    (WebCore::IDBCursorBackendImpl::CursorIterationOperation::perform):
    (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
    * Modules/indexeddb/IDBCursorBackendInterface.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBDatabase.cpp:
    * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::create):
    (IDBDatabaseBackendImpl::CreateObjectStoreOperation):
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::CreateObjectStoreOperation):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::create):
    (IDBDatabaseBackendImpl::DeleteObjectStoreOperation):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
    (IDBDatabaseBackendImpl::VersionChangeOperation):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::create):
    (IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::create):
    (IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
    (IDBDatabaseBackendImpl::VersionChangeAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
    (WebCore::IDBDatabaseBackendImpl::createObjectStore):
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform):
    (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
    (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
    (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::perform):
    (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::perform):
    (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
    * Modules/indexeddb/IDBDatabaseBackendInterface.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBDatabaseCallbacks.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
    * Modules/indexeddb/IDBFactoryBackendInterface.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBIndexBackendImpl.cpp:
    (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::create):
    (IDBIndexBackendImpl::OpenIndexCursorOperation):
    (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::OpenIndexCursorOperation):
    (WebCore::IDBIndexBackendImpl::IndexCountOperation::create):
    (IDBIndexBackendImpl::IndexCountOperation):
    (WebCore::IDBIndexBackendImpl::IndexCountOperation::IndexCountOperation):
    (WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::create):
    (IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation):
    (WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::IndexReferencedValueRetrievalOperation):
    (WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::create):
    (IDBIndexBackendImpl::IndexValueRetrievalOperation):
    (WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::IndexValueRetrievalOperation):
    (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::perform):
    (WebCore::IDBIndexBackendImpl::openCursor):
    (WebCore::IDBIndexBackendImpl::openKeyCursor):
    (WebCore::IDBIndexBackendImpl::IndexCountOperation::perform):
    (WebCore::IDBIndexBackendImpl::count):
    (WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform):
    (WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::perform):
    (WebCore::IDBIndexBackendImpl::get):
    (WebCore::IDBIndexBackendImpl::getKey):
    * Modules/indexeddb/IDBIndexBackendInterface.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBKey.h: Remove bogus "ThreadSafe"
    (IDBKey):
    * Modules/indexeddb/IDBKeyRange.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::ObjectStoreRetrievalOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreStorageOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::ObjectStoreStorageOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::ObjectStoreIndexesReadyOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::ObjectStoreDeletionOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreClearOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::ObjectStoreClearOperation):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::create):
    (IDBObjectStoreBackendImpl::CreateIndexOperation):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::CreateIndexOperation):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::create):
    (IDBObjectStoreBackendImpl::DeleteIndexOperation):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::DeleteIndexOperation):
    (WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::create):
    (IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation):
    (WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::OpenObjectStoreCursorOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::create):
    (IDBObjectStoreBackendImpl::ObjectStoreCountOperation):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::ObjectStoreCountOperation):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::create):
    (IDBObjectStoreBackendImpl::CreateIndexAbortOperation):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::CreateIndexAbortOperation):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::create):
    (IDBObjectStoreBackendImpl::DeleteIndexAbortOperation):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
    (WebCore::IDBObjectStoreBackendImpl::get):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::put):
    (WebCore):
    (WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::clear):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::createIndex):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::openCursor):
    (WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::count):
    (WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::perform):
    (WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::perform):
    * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove bogus "ThreadSafe"
    * Modules/indexeddb/IDBRequest.h: Remove bogus "ThreadSafe"
    (IDBRequest):
    * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
    (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Appease RefPtr<> adoption strictness.
    (WebCore::IDBTransactionBackendImpl::scheduleTask):
    (WebCore::IDBTransactionBackendImpl::abort):
    (WebCore::IDBTransactionBackendImpl::taskTimerFired):
    * Modules/indexeddb/IDBTransactionBackendImpl.h:
    (Operation):
    (WebCore::IDBTransactionBackendImpl::Operation::~Operation):
    (IDBTransactionBackendImpl):
    (WebCore::IDBTransactionBackendImpl::scheduleTask):
    * Modules/indexeddb/IDBTransactionBackendInterface.h: Remove bogus "ThreadSafe"
    
    Source/WebKit/chromium:
    
    Now that IDBCallbacks uses real RefPtr<> a mock class needs to be heap allocated.
    
    * tests/IDBAbortOnCorruptTest.cpp:
    (WebCore::MockIDBCallbacks::create):
    (WebCore::MockIDBCallbacks::MockIDBCallbacks):
    (MockIDBCallbacks):
    (WebCore::TEST):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d7b6d0fb