Title: [121117] trunk/Source/WebCore
- Revision
- 121117
- Author
- [email protected]
- Date
- 2012-06-24 08:06:53 -0700 (Sun, 24 Jun 2012)
Log Message
Web Inspector: Simplify InspectorIndexedDBAgent to use IDB metadata API
https://bugs.webkit.org/show_bug.cgi?id=89495
Reviewed by Vsevolod Vlasov.
No new tests - no functional changes.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (121116 => 121117)
--- trunk/Source/WebCore/ChangeLog 2012-06-24 15:02:59 UTC (rev 121116)
+++ trunk/Source/WebCore/ChangeLog 2012-06-24 15:06:53 UTC (rev 121117)
@@ -1,3 +1,15 @@
+2012-06-24 Joshua Bell <[email protected]>
+
+ Web Inspector: Simplify InspectorIndexedDBAgent to use IDB metadata API
+ https://bugs.webkit.org/show_bug.cgi?id=89495
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests - no functional changes.
+
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+
2012-06-24 Pavel Feldman <[email protected]>
Web Inspector: speed up Timeline and Elements panel rendering
Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (121116 => 121117)
--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp 2012-06-24 15:02:59 UTC (rev 121116)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp 2012-06-24 15:06:53 UTC (rev 121117)
@@ -49,6 +49,7 @@
#include "IDBKey.h"
#include "IDBKeyPath.h"
#include "IDBKeyRange.h"
+#include "IDBMetadata.h"
#include "IDBObjectStoreBackendInterface.h"
#include "IDBPendingTransactionMonitor.h"
#include "IDBTransaction.h"
@@ -309,42 +310,35 @@
if (!m_frontendProvider->frontend())
return;
+ const IDBDatabaseMetadata databaseMetadata = idbDatabase->metadata();
+
RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore> > objectStores = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore>::create();
- RefPtr<DOMStringList> objectStoreNamesList = idbDatabase->objectStoreNames();
- for (size_t i = 0; i < objectStoreNamesList->length(); ++i) {
- String objectStoreName = objectStoreNamesList->item(i);
- RefPtr<IDBTransactionBackendInterface> idbTransaction = transactionForDatabase(idbDatabase.get(), objectStoreName);
- if (!idbTransaction)
- continue;
- RefPtr<IDBObjectStoreBackendInterface> idbObjectStore = objectStoreForTransaction(idbTransaction.get(), objectStoreName);
- if (!idbObjectStore)
- continue;
+ for (IDBDatabaseMetadata::ObjectStoreMap::const_iterator it = databaseMetadata.objectStores.begin(); it != databaseMetadata.objectStores.end(); ++it) {
+ const IDBObjectStoreMetadata& objectStoreMetadata = it->second;
RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex> > indexes = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>::create();
- RefPtr<DOMStringList> indexNamesList = idbObjectStore->indexNames();
- for (size_t j = 0; j < indexNamesList->length(); ++j) {
- RefPtr<IDBIndexBackendInterface> idbIndex = indexForObjectStore(idbObjectStore.get(), indexNamesList->item(j));
- if (!idbIndex)
- continue;
+ for (IDBObjectStoreMetadata::IndexMap::const_iterator it = objectStoreMetadata.indexes.begin(); it != objectStoreMetadata.indexes.end(); ++it) {
+ const IDBIndexMetadata& indexMetadata = it->second;
+
RefPtr<ObjectStoreIndex> objectStoreIndex = ObjectStoreIndex::create()
- .setName(idbIndex->name())
- .setKeyPath(keyPathFromIDBKeyPath(idbIndex->keyPath()))
- .setUnique(idbIndex->unique())
- .setMultiEntry(idbIndex->multiEntry());
+ .setName(indexMetadata.name)
+ .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath))
+ .setUnique(indexMetadata.unique)
+ .setMultiEntry(indexMetadata.multiEntry);
indexes->addItem(objectStoreIndex);
}
-
+ // FIXME: add objectStoreMetadata.autoIncrement property http://webkit.org/b/89701
RefPtr<ObjectStore> objectStore = ObjectStore::create()
- .setName(idbObjectStore->name())
- .setKeyPath(keyPathFromIDBKeyPath(idbObjectStore->keyPath()))
+ .setName(objectStoreMetadata.name)
+ .setKeyPath(keyPathFromIDBKeyPath(objectStoreMetadata.keyPath))
.setIndexes(indexes);
objectStores->addItem(objectStore);
}
RefPtr<DatabaseWithObjectStores> result = DatabaseWithObjectStores::create()
- .setName(idbDatabase->name())
- .setVersion(idbDatabase->version())
+ .setName(databaseMetadata.name)
+ .setVersion(databaseMetadata.version)
.setObjectStores(objectStores);
m_frontendProvider->frontend()->databaseLoaded(m_requestId, result);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes