⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 121117 in webkit


Ignore:
Timestamp:
Jun 24, 2012, 8:06:53 AM (14 years ago)
Author:
jsbell@chromium.org
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):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r121112 r121117  
     12012-06-24  Joshua Bell  <jsbell@chromium.org>
     2
     3        Web Inspector: Simplify InspectorIndexedDBAgent to use IDB metadata API
     4        https://bugs.webkit.org/show_bug.cgi?id=89495
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        No new tests - no functional changes.
     9
     10        * inspector/InspectorIndexedDBAgent.cpp:
     11        (WebCore):
     12
    1132012-06-24  Pavel Feldman  <pfeldman@chromium.org>
    214
  • trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp

    r120828 r121117  
    5050#include "IDBKeyPath.h"
    5151#include "IDBKeyRange.h"
     52#include "IDBMetadata.h"
    5253#include "IDBObjectStoreBackendInterface.h"
    5354#include "IDBPendingTransactionMonitor.h"
     
    310311            return;
    311312
     313        const IDBDatabaseMetadata databaseMetadata = idbDatabase->metadata();
     314
    312315        RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore> > objectStores = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore>::create();
    313316
    314         RefPtr<DOMStringList> objectStoreNamesList = idbDatabase->objectStoreNames();
    315         for (size_t i = 0; i < objectStoreNamesList->length(); ++i) {
    316             String objectStoreName = objectStoreNamesList->item(i);
    317             RefPtr<IDBTransactionBackendInterface> idbTransaction = transactionForDatabase(idbDatabase.get(), objectStoreName);
    318             if (!idbTransaction)
    319                 continue;
    320             RefPtr<IDBObjectStoreBackendInterface> idbObjectStore = objectStoreForTransaction(idbTransaction.get(), objectStoreName);
    321             if (!idbObjectStore)
    322                 continue;
     317        for (IDBDatabaseMetadata::ObjectStoreMap::const_iterator it = databaseMetadata.objectStores.begin(); it != databaseMetadata.objectStores.end(); ++it) {
     318            const IDBObjectStoreMetadata& objectStoreMetadata = it->second;
    323319
    324320            RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex> > indexes = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>::create();
    325             RefPtr<DOMStringList> indexNamesList = idbObjectStore->indexNames();
    326             for (size_t j = 0; j < indexNamesList->length(); ++j) {
    327                 RefPtr<IDBIndexBackendInterface> idbIndex = indexForObjectStore(idbObjectStore.get(), indexNamesList->item(j));
    328                 if (!idbIndex)
    329                     continue;
     321
     322            for (IDBObjectStoreMetadata::IndexMap::const_iterator it = objectStoreMetadata.indexes.begin(); it != objectStoreMetadata.indexes.end(); ++it) {
     323                const IDBIndexMetadata& indexMetadata = it->second;
    330324
    331325                RefPtr<ObjectStoreIndex> objectStoreIndex = ObjectStoreIndex::create()
    332                     .setName(idbIndex->name())
    333                     .setKeyPath(keyPathFromIDBKeyPath(idbIndex->keyPath()))
    334                     .setUnique(idbIndex->unique())
    335                     .setMultiEntry(idbIndex->multiEntry());
     326                    .setName(indexMetadata.name)
     327                    .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath))
     328                    .setUnique(indexMetadata.unique)
     329                    .setMultiEntry(indexMetadata.multiEntry);
    336330                indexes->addItem(objectStoreIndex);
    337331            }
    338 
     332            // FIXME: add objectStoreMetadata.autoIncrement property http://webkit.org/b/89701
    339333            RefPtr<ObjectStore> objectStore = ObjectStore::create()
    340                 .setName(idbObjectStore->name())
    341                 .setKeyPath(keyPathFromIDBKeyPath(idbObjectStore->keyPath()))
     334                .setName(objectStoreMetadata.name)
     335                .setKeyPath(keyPathFromIDBKeyPath(objectStoreMetadata.keyPath))
    342336                .setIndexes(indexes);
    343337            objectStores->addItem(objectStore);
    344338        }
    345339        RefPtr<DatabaseWithObjectStores> result = DatabaseWithObjectStores::create()
    346             .setName(idbDatabase->name())
    347             .setVersion(idbDatabase->version())
     340            .setName(databaseMetadata.name)
     341            .setVersion(databaseMetadata.version)
    348342            .setObjectStores(objectStores);
    349343
Note: See TracChangeset for help on using the changeset viewer.