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

import("//mojo/public/tools/bindings/mojom.gni")

mojom("interfaces") {
  sources = [
    "uuid.mojom",
  ]

  # TODO(crbug.com/699569): Convert to use the new JS bindings.
  js_bindings_mode = "both"
}

mojom("fake_bluetooth_interfaces") {
  sources = [
    "test/fake_bluetooth.mojom",
  ]

  public_deps = [
    ":interfaces",
  ]

  use_once_callback = true
}

mojom("experimental_interfaces") {
  sources = [
    "adapter.mojom",
    "device.mojom",
  ]

  public_deps = [
    ":interfaces",
  ]

  visibility = [
    "//device/bluetooth:mojo",
    "//chrome/browser:*",
    "//chrome/browser/ui:*",
  ]

  # TODO(crbug.com/699569): Convert to use the new JS bindings.
  use_new_js_bindings = false
}
