# Copyright 2018 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.

mojom = "//third_party/blink/public/mojom/indexeddb/indexeddb.mojom"
public_headers = [
  "//third_party/blink/public/common/indexeddb/indexeddb_key.h",
  "//third_party/blink/public/common/indexeddb/indexeddb_key_path.h",
  "//third_party/blink/public/common/indexeddb/indexeddb_key_range.h",
  "//third_party/blink/public/common/indexeddb/indexeddb_metadata.h",
  "//third_party/blink/public/common/indexeddb/web_idb_types.h",
]
traits_headers = [
  "//mojo/public/cpp/bindings/array_traits_span.h",
  "//third_party/blink/public/common/indexeddb/indexed_db_default_mojom_traits.h",
]
type_mappings = [
  "blink.mojom.IDBDatabaseMetadata=::blink::IndexedDBDatabaseMetadata",
  "blink.mojom.IDBIndexKeys=::blink::IndexedDBIndexKeys",
  "blink.mojom.IDBIndexMetadata=::blink::IndexedDBIndexMetadata",
  "blink.mojom.IDBKey=::blink::IndexedDBKey",
  "blink.mojom.IDBKeyPath=::blink::IndexedDBKeyPath",
  "blink.mojom.IDBKeyRange=::blink::IndexedDBKeyRange",
  "blink.mojom.IDBObjectStoreMetadata=::blink::IndexedDBObjectStoreMetadata",
]
