Index: content/common/indexed_db/indexed_db_metadata.cc |
diff --git a/content/common/indexed_db/indexed_db_metadata.cc b/content/common/indexed_db/indexed_db_metadata.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6174f8418281b35fc9c9934cc267e0a036adc024 |
--- /dev/null |
+++ b/content/common/indexed_db/indexed_db_metadata.cc |
@@ -0,0 +1,118 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/common/indexed_db/indexed_db_metadata.h" |
+ |
+#include "base/logging.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBMetadata.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" |
+ |
+namespace content { |
+ |
+using WebKit::WebIDBDatabaseMetadata; |
+using WebKit::WebIDBIndexMetadata; |
+using WebKit::WebIDBKeyPath; |
+using WebKit::WebIDBObjectStoreMetadata; |
+using WebKit::WebVector; |
+ |
+IndexedDBDatabaseMetadata::IndexedDBDatabaseMetadata() |
+{ |
+} |
+ |
+IndexedDBDatabaseMetadata::IndexedDBDatabaseMetadata( |
+ const WebKit::WebIDBDatabaseMetadata metadata) |
+ : name_(metadata.name()) |
+ , version_(metadata.version()) { |
+ WebVector<WebIDBObjectStoreMetadata> object_stores = metadata.objectStores(); |
+ for (size_t i = 0; i < object_stores.size(); ++i) |
+ object_stores_.push_back(IndexedDBObjectStoreMetadata(object_stores[i])); |
+} |
+ |
+IndexedDBDatabaseMetadata::~IndexedDBDatabaseMetadata() |
+{ |
+} |
+ |
+void IndexedDBDatabaseMetadata::Set( |
+ const string16& name, |
+ const string16& version, |
+ const std::vector<IndexedDBObjectStoreMetadata>& object_stores) { |
+ name_ = name; |
+ version_ = version; |
+ object_stores_ = object_stores; |
+} |
+ |
+IndexedDBDatabaseMetadata::operator WebKit::WebIDBDatabaseMetadata() const { |
+ return WebKit::WebIDBDatabaseMetadata::create(name_, version_, |
+ object_stores_); |
+} |
+ |
+IndexedDBObjectStoreMetadata::IndexedDBObjectStoreMetadata() |
+{ |
+} |
+ |
+IndexedDBObjectStoreMetadata::IndexedDBObjectStoreMetadata( |
+ const WebKit::WebIDBObjectStoreMetadata metadata) |
+ : name_(metadata.name()) |
+ , key_path_(metadata.keyPath()) |
+ , auto_increment_(metadata.autoIncrement()) { |
+ WebVector<WebIDBIndexMetadata> indexes = metadata.indexes(); |
+ for (size_t i = 0; i < indexes.size(); ++i) |
+ indexes_.push_back(IndexedDBIndexMetadata(indexes[i])); |
+} |
+ |
+IndexedDBObjectStoreMetadata::~IndexedDBObjectStoreMetadata() |
+{ |
+} |
+ |
+void IndexedDBObjectStoreMetadata::Set( |
+ const string16& name, |
+ const IndexedDBKeyPath& key_path, |
+ bool auto_increment, |
+ const std::vector<IndexedDBIndexMetadata>& indexes) { |
+ name_ = name; |
+ key_path_ = key_path; |
+ auto_increment_ = auto_increment; |
+ indexes_ = indexes; |
+} |
+ |
+IndexedDBObjectStoreMetadata::operator |
+WebKit::WebIDBObjectStoreMetadata() const { |
+ return WebKit::WebIDBObjectStoreMetadata::create(name_, key_path_, |
+ auto_increment_, indexes_); |
+} |
+ |
+IndexedDBIndexMetadata::IndexedDBIndexMetadata() |
+{ |
+} |
+ |
+IndexedDBIndexMetadata::IndexedDBIndexMetadata( |
+ const WebKit::WebIDBIndexMetadata metadata) |
+ : name_(metadata.name()) |
+ , key_path_(metadata.keyPath()) |
+ , unique_(metadata.unique()) |
+ , multi_entry_(metadata.multiEntry()) { |
+} |
+ |
+IndexedDBIndexMetadata::~IndexedDBIndexMetadata() |
+{ |
+} |
+ |
+void IndexedDBIndexMetadata::Set( |
+ const string16& name, |
+ const IndexedDBKeyPath& key_path, |
+ bool unique, |
+ bool multi_entry) { |
+ name_ = name; |
+ key_path_ = key_path; |
+ unique_ = unique; |
+ multi_entry_ = multi_entry; |
+} |
+ |
+IndexedDBIndexMetadata::operator WebKit::WebIDBIndexMetadata() const { |
+ return WebKit::WebIDBIndexMetadata::create(name_, key_path_, unique_, |
+ multi_entry_); |
+} |
+ |
+} // namespace content |