IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 00:43:02 +0000 (00:43 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 00:43:02 +0000 (00:43 +0000)
commit8ee031caadb0321203e774bc8560b9100ca4f84b
tree54f6426f3ad7bab68cac666beb1476298748199e
parentc2996de174d922d6b506c8fb68458303b6422244
IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
https://bugs.webkit.org/show_bug.cgi?id=68818

Patch by Joshua Bell <jsbell@chromium.org> on 2011-09-26
Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/factory-basics.html

Adds ability to enumerate IndexedDB databases within an origin.

* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::domStringList):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
* storage/IDBBackingStore.h:
* storage/IDBCallbacks.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::getDatabaseNames):
(WebCore::IDBFactoryBackendImpl::open):
(WebCore::IDBFactoryBackendImpl::openBackingStore):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getDatabaseNames):
(WebCore::IDBLevelDBBackingStore::getObjectStores):
(WebCore::IDBLevelDBBackingStore::getIndexes):
* storage/IDBLevelDBBackingStore.h:
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
* storage/IDBLevelDBCoding.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
* storage/IDBSQLiteBackingStore.cpp:
(WebCore::IDBSQLiteBackingStore::getDatabaseNames):
* storage/IDBSQLiteBackingStore.h:

Source/WebKit/chromium:

Adds ability to enumerate IndexedDB databases within an origin.

* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::getDatabaseNames):
* src/IDBFactoryBackendProxy.h:
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess):
* src/WebIDBCallbacksImpl.h:
* src/WebIDBFactoryImpl.cpp:
(WebKit::WebIDBFactoryImpl::getDatabaseNames):
* src/WebIDBFactoryImpl.h:

LayoutTests:

Adds ability to enumerate IndexedDB databases within an origin.

* storage/indexeddb/factory-basics-expected.txt: Added.
* storage/indexeddb/factory-basics.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32 files changed:
LayoutTests/ChangeLog
LayoutTests/storage/indexeddb/factory-basics-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/factory-basics.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
Source/WebCore/storage/IDBAny.cpp
Source/WebCore/storage/IDBAny.h
Source/WebCore/storage/IDBBackingStore.h
Source/WebCore/storage/IDBCallbacks.h
Source/WebCore/storage/IDBFactory.cpp
Source/WebCore/storage/IDBFactory.h
Source/WebCore/storage/IDBFactory.idl
Source/WebCore/storage/IDBFactoryBackendImpl.cpp
Source/WebCore/storage/IDBFactoryBackendImpl.h
Source/WebCore/storage/IDBFactoryBackendInterface.h
Source/WebCore/storage/IDBLevelDBBackingStore.cpp
Source/WebCore/storage/IDBLevelDBBackingStore.h
Source/WebCore/storage/IDBLevelDBCoding.cpp
Source/WebCore/storage/IDBLevelDBCoding.h
Source/WebCore/storage/IDBRequest.cpp
Source/WebCore/storage/IDBRequest.h
Source/WebCore/storage/IDBSQLiteBackingStore.cpp
Source/WebCore/storage/IDBSQLiteBackingStore.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/IDBCallbacksProxy.cpp
Source/WebKit/chromium/src/IDBCallbacksProxy.h
Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp
Source/WebKit/chromium/src/IDBFactoryBackendProxy.h
Source/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
Source/WebKit/chromium/src/WebIDBCallbacksImpl.h
Source/WebKit/chromium/src/WebIDBFactoryImpl.cpp
Source/WebKit/chromium/src/WebIDBFactoryImpl.h