1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/modules/indexeddb/idb_metadata.h"
#include <utility>
namespace blink {
constexpr int64_t IDBIndexMetadata::kInvalidId;
constexpr int64_t IDBObjectStoreMetadata::kInvalidId;
IDBIndexMetadata::IDBIndexMetadata() = default;
IDBIndexMetadata::IDBIndexMetadata(const String& name,
int64_t id,
const IDBKeyPath& key_path,
bool unique,
bool multi_entry)
: name(name),
id(id),
key_path(key_path),
unique(unique),
multi_entry(multi_entry) {}
// static
scoped_refptr<IDBIndexMetadata> IDBIndexMetadata::Create() {
return base::AdoptRef(new IDBIndexMetadata());
}
IDBObjectStoreMetadata::IDBObjectStoreMetadata() = default;
IDBObjectStoreMetadata::IDBObjectStoreMetadata(const String& name,
int64_t id,
const IDBKeyPath& key_path,
bool auto_increment,
int64_t max_index_id)
: name(name),
id(id),
key_path(key_path),
auto_increment(auto_increment),
max_index_id(max_index_id) {}
// static
scoped_refptr<IDBObjectStoreMetadata> IDBObjectStoreMetadata::Create() {
return base::AdoptRef(new IDBObjectStoreMetadata());
}
scoped_refptr<IDBObjectStoreMetadata> IDBObjectStoreMetadata::CreateCopy()
const {
scoped_refptr<IDBObjectStoreMetadata> copy =
base::AdoptRef(new IDBObjectStoreMetadata(name, id, key_path,
auto_increment, max_index_id));
for (const auto& it : indexes) {
IDBIndexMetadata* index = it.value.get();
scoped_refptr<IDBIndexMetadata> index_copy = base::AdoptRef(
new IDBIndexMetadata(index->name, index->id, index->key_path,
index->unique, index->multi_entry));
copy->indexes.insert(it.key, std::move(index_copy));
}
return copy;
}
IDBDatabaseMetadata::IDBDatabaseMetadata()
: version(IDBDatabaseMetadata::kNoVersion) {}
IDBDatabaseMetadata::IDBDatabaseMetadata(const String& name,
int64_t version,
int64_t max_object_store_id,
bool was_cold_open)
: name(name),
version(version),
max_object_store_id(max_object_store_id),
was_cold_open(was_cold_open) {}
void IDBDatabaseMetadata::CopyFrom(const IDBDatabaseMetadata& metadata) {
name = metadata.name;
version = metadata.version;
max_object_store_id = metadata.max_object_store_id;
was_cold_open = metadata.was_cold_open;
}
} // namespace blink
|