| Index: third_party/WebKit/Source/modules/indexeddb/IDBMetadata.cpp
|
| diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBMetadata.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBMetadata.cpp
|
| index e2b28eae4389b401287565c39ae6c90b2904903c..668f3cba47214e2ba94fab421f46f3411cc7d9d7 100644
|
| --- a/third_party/WebKit/Source/modules/indexeddb/IDBMetadata.cpp
|
| +++ b/third_party/WebKit/Source/modules/indexeddb/IDBMetadata.cpp
|
| @@ -8,22 +8,94 @@
|
|
|
| namespace blink {
|
|
|
| +IDBIndexMetadata::IDBIndexMetadata() = default;
|
| +
|
| +IDBIndexMetadata::IDBIndexMetadata(const String& name, int64_t id, const IDBKeyPath& keyPath, bool unique, bool multiEntry)
|
| + : name(name)
|
| + , id(id)
|
| + , keyPath(keyPath)
|
| + , unique(unique)
|
| + , multiEntry(multiEntry)
|
| +{
|
| +}
|
| +
|
| +IDBObjectStoreOwnMetadata::IDBObjectStoreOwnMetadata()
|
| +{
|
| +}
|
| +
|
| +IDBObjectStoreOwnMetadata::IDBObjectStoreOwnMetadata(const String& name, int64_t id, const IDBKeyPath& keyPath, bool autoIncrement, int64_t maxIndexId)
|
| + : name(name)
|
| + , id(id)
|
| + , keyPath(keyPath)
|
| + , autoIncrement(autoIncrement)
|
| + , maxIndexId(maxIndexId)
|
| +{
|
| +}
|
| +
|
| +IDBObjectStoreOwnMetadata::IDBObjectStoreOwnMetadata(const IDBObjectStoreOwnMetadata&) = default;
|
| +
|
| +IDBObjectStoreOwnMetadata& IDBObjectStoreOwnMetadata::operator =(const IDBObjectStoreOwnMetadata&) = default;
|
| +
|
| +IDBObjectStoreMetadata::IDBObjectStoreMetadata() = default;
|
| +
|
| +IDBObjectStoreMetadata::IDBObjectStoreMetadata(const String& name, int64_t id, const IDBKeyPath& keyPath, bool autoIncrement, int64_t maxIndexId)
|
| + : own(name, id, keyPath, autoIncrement, maxIndexId)
|
| +{
|
| +}
|
| +
|
| +RefPtr<IDBObjectStoreMetadata> IDBObjectStoreMetadata::createCopy() const
|
| +{
|
| + RefPtr<IDBObjectStoreMetadata> copy = adoptRef(new IDBObjectStoreMetadata(
|
| + own.name, own.id, own.keyPath, own.autoIncrement, own.maxIndexId));
|
| +
|
| + for (const auto& it : indexes) {
|
| + IDBIndexMetadata* index = it.value.get();
|
| + RefPtr<IDBIndexMetadata> indexCopy = adoptRef(new IDBIndexMetadata(
|
| + index->name, index->id, index->keyPath, index->unique, index->multiEntry));
|
| + copy->indexes.add(it.key, std::move(indexCopy));
|
| + }
|
| + return copy;
|
| +}
|
| +
|
| +IDBDatabaseOwnMetadata::IDBDatabaseOwnMetadata()
|
| + : version(IDBDatabaseMetadata::NoVersion)
|
| +{
|
| +}
|
| +
|
| +IDBDatabaseOwnMetadata::IDBDatabaseOwnMetadata(const String& name, int64_t id, int64_t version, int64_t maxObjectStoreId)
|
| + : name(name)
|
| + , id(id)
|
| + , version(version)
|
| + , maxObjectStoreId(maxObjectStoreId)
|
| +{
|
| +}
|
| +
|
| +IDBDatabaseOwnMetadata::IDBDatabaseOwnMetadata(const IDBDatabaseOwnMetadata&) = default;
|
| +
|
| +IDBDatabaseOwnMetadata& IDBDatabaseOwnMetadata::operator =(const IDBDatabaseOwnMetadata&) = default;
|
| +
|
| +IDBDatabaseMetadata::IDBDatabaseMetadata() = default;
|
| +
|
| +IDBDatabaseMetadata::IDBDatabaseMetadata(const String& name, int64_t id, int64_t version, int64_t maxObjectStoreId)
|
| + : own(name, id, version, maxObjectStoreId)
|
| +{
|
| +}
|
| +
|
| IDBDatabaseMetadata::IDBDatabaseMetadata(const WebIDBMetadata& webMetadata)
|
| - : name(webMetadata.name)
|
| - , id(webMetadata.id)
|
| - , version(webMetadata.version)
|
| - , maxObjectStoreId(webMetadata.maxObjectStoreId)
|
| + : own(webMetadata.name, webMetadata.id, webMetadata.version, webMetadata.maxObjectStoreId)
|
| {
|
| for (size_t i = 0; i < webMetadata.objectStores.size(); ++i) {
|
| - const WebIDBMetadata::ObjectStore webObjectStore = webMetadata.objectStores[i];
|
| - IDBObjectStoreMetadata objectStore(webObjectStore.name, webObjectStore.id, IDBKeyPath(webObjectStore.keyPath), webObjectStore.autoIncrement, webObjectStore.maxIndexId);
|
| + const WebIDBMetadata::ObjectStore& webObjectStore = webMetadata.objectStores[i];
|
| + RefPtr<IDBObjectStoreMetadata> objectStore = adoptRef(new IDBObjectStoreMetadata(
|
| + webObjectStore.name, webObjectStore.id, IDBKeyPath(webObjectStore.keyPath), webObjectStore.autoIncrement, webObjectStore.maxIndexId));
|
|
|
| for (size_t j = 0; j < webObjectStore.indexes.size(); ++j) {
|
| - const WebIDBMetadata::Index webIndex = webObjectStore.indexes[j];
|
| - IDBIndexMetadata index(webIndex.name, webIndex.id, IDBKeyPath(webIndex.keyPath), webIndex.unique, webIndex.multiEntry);
|
| - objectStore.indexes.set(index.id, index);
|
| + const WebIDBMetadata::Index& webIndex = webObjectStore.indexes[j];
|
| + RefPtr<IDBIndexMetadata> index = adoptRef(new IDBIndexMetadata(
|
| + webIndex.name, webIndex.id, IDBKeyPath(webIndex.keyPath), webIndex.unique, webIndex.multiEntry));
|
| + objectStore->indexes.set(webIndex.id, std::move(index));
|
| }
|
| - objectStores.set(objectStore.id, objectStore);
|
| + objectStores.set(webObjectStore.id, std::move(objectStore));
|
| }
|
| }
|
|
|
|
|