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

# These are typemaps which are exposed by Blink to its embedder.
typemaps = [
  "//third_party/blink/public/common/fetch/fetch_api_request_body.typemap",
  "//third_party/blink/public/common/fetch/fetch_api_request_headers.typemap",
  "//third_party/blink/public/common/indexeddb/indexed_db_default.typemap",
  "//third_party/blink/public/common/loader/url_loader_factory_bundle.typemap",
  "//third_party/blink/public/common/manifest/manifest.typemap",
  "//third_party/blink/public/common/mediastream/media_devices.typemap",
  "//third_party/blink/public/common/mediastream/media_stream.typemap",
  "//third_party/blink/public/common/messaging/message_port_descriptor.typemap",
  "//third_party/blink/public/common/notifications/notification_types.typemap",
  "//third_party/blink/public/common/screen_orientation/screen_orientation_lock_types.typemap",
  "//third_party/blink/public/common/user_agent/user_agent_metadata.typemap",
]
