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