2010-09-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Finished IDBTransaction for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=46823

        A bit of cleanup + use setVersion transactions for all of our work.

        * storage/indexeddb/database-basics.html:
        * storage/indexeddb/index-basics.html:
        * storage/indexeddb/index-cursor.html:
        * storage/indexeddb/objectstore-basics.html:
        * storage/indexeddb/objectstore-cursor.html:
        * storage/indexeddb/objectstore-removeobjectstore.html:
        * storage/indexeddb/open-cursor.html:
        * storage/indexeddb/transaction-basics.html:
2010-09-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Finished IDBTransaction for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=46823

        Switch the rest of IndexedDB to use transactions.
        Implement most of setVersion.
        Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
        Switch to using the standard cross thread task stuff.
        Make everything threadsafe so it works with cross thread copy
            (will be useful in the future).
        Fix some subtle bugs in transactions.

        Various bits of clean up (when I couldn't resist).

        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::LocalContext::LocalContext):
        (WebCore::LocalContext::~LocalContext):
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * platform/CrossThreadCopier.cpp:
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbFactory):
        (WebCore::IDBAny::idbTransaction):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        * storage/IDBCallbacks.h:
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor):
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::remove):
        * storage/IDBCursor.h:
        (WebCore::IDBCursor::create):
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::updateInternal):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        (WebCore::IDBCursorBackendImpl::remove):
        (WebCore::IDBCursorBackendImpl::removeInternal):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setSetVersionTransaction):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        (WebCore::IDBDatabase::setVersion):
        (WebCore::IDBDatabase::close):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        (WebCore::IDBDatabaseBackendImpl::close):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::IDBIndex):
        (WebCore::IDBIndex::openObjectCursor):
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::getObject):
        (WebCore::IDBIndex::get):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::create):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::openObjectCursor):
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::getObject):
        (WebCore::IDBIndexBackendImpl::get):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::IDBKey):
        * storage/IDBKey.h:
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::remove):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::removeInternal):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::timerFired):
        * storage/IDBRequest.h:
        (WebCore::IDBRequest::create):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
        (WebCore::IDBTransactionBackendImpl::run):
        (WebCore::IDBTransactionBackendImpl::start):
        (WebCore::IDBTransactionBackendImpl::commit):
        (WebCore::IDBTransactionBackendImpl::timerFired):
        * storage/IDBTransactionBackendImpl.h:
2010-09-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Finished IDBTransaction for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=46823

        Plumbing.

        * public/WebIDBCallbacks.h:
        (WebKit::WebIDBCallbacks::onSuccess):
        * public/WebIDBDatabase.h:
        (WebKit::WebIDBDatabase::createObjectStore):
        (WebKit::WebIDBDatabase::removeObjectStore):
        (WebKit::WebIDBDatabase::close):
        * public/WebIDBIndex.h:
        (WebKit::WebIDBIndex::openObjectCursor):
        (WebKit::WebIDBIndex::openCursor):
        (WebKit::WebIDBIndex::getObject):
        (WebKit::WebIDBIndex::get):
        * public/WebIDBObjectStore.h:
        (WebKit::WebIDBObjectStore::get):
        (WebKit::WebIDBObjectStore::put):
        (WebKit::WebIDBObjectStore::remove):
        (WebKit::WebIDBObjectStore::createIndex):
        (WebKit::WebIDBObjectStore::removeIndex):
        (WebKit::WebIDBObjectStore::openCursor):
        * public/WebIDBTransaction.h:
        (WebKit::WebIDBTransaction::id):
        (WebKit::WebIDBTransaction::getIDBTransactionBackendInterface):
        * src/IDBCallbacksProxy.cpp:
        (WebCore::IDBCallbacksProxy::onSuccess):
        * src/IDBCallbacksProxy.h:
        * src/IDBDatabaseProxy.cpp:
        (WebCore::IDBDatabaseProxy::createObjectStore):
        (WebCore::IDBDatabaseProxy::removeObjectStore):
        (WebCore::IDBDatabaseProxy::close):
        * src/IDBDatabaseProxy.h:
        * src/IDBIndexBackendProxy.cpp:
        (WebCore::IDBIndexBackendProxy::openObjectCursor):
        (WebCore::IDBIndexBackendProxy::openCursor):
        (WebCore::IDBIndexBackendProxy::getObject):
        (WebCore::IDBIndexBackendProxy::get):
        * src/IDBIndexBackendProxy.h:
        * src/IDBObjectStoreProxy.cpp:
        (WebCore::IDBObjectStoreProxy::put):
        (WebCore::IDBObjectStoreProxy::remove):
        (WebCore::IDBObjectStoreProxy::createIndex):
        (WebCore::IDBObjectStoreProxy::removeIndex):
        (WebCore::IDBObjectStoreProxy::openCursor):
        * src/IDBObjectStoreProxy.h:
        * src/IDBTransactionBackendProxy.cpp:
        (WebCore::IDBTransactionBackendProxy::IDBTransactionBackendProxy):
        * src/WebIDBCallbacksImpl.cpp:
        (WebCore::WebIDBCallbacksImpl::onSuccess):
        * src/WebIDBCallbacksImpl.h:
        * src/WebIDBDatabaseImpl.cpp:
        (WebKit::WebIDBDatabaseImpl::createObjectStore):
        (WebKit::WebIDBDatabaseImpl::removeObjectStore):
        (WebKit::WebIDBDatabaseImpl::close):
        * src/WebIDBDatabaseImpl.h:
        * src/WebIDBIndexImpl.cpp:
        (WebKit::WebIDBIndexImpl::openCursor):
        (WebKit::WebIDBIndexImpl::openObjectCursor):
        (WebKit::WebIDBIndexImpl::getObject):
        (WebKit::WebIDBIndexImpl::get):
        * src/WebIDBIndexImpl.h:
        * src/WebIDBObjectStoreImpl.cpp:
        (WebKit::WebIDBObjectStoreImpl::put):
        (WebKit::WebIDBObjectStoreImpl::remove):
        (WebKit::WebIDBObjectStoreImpl::createIndex):
        (WebKit::WebIDBObjectStoreImpl::removeIndex):
        (WebKit::WebIDBObjectStoreImpl::openCursor):
        * src/WebIDBObjectStoreImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
79 files changed