chromium/fuchsia_web/webengine/mojom/BUILD.gn

# Copyright 2021 The Chromium Authors
# 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")

# Only allow use by the WebEngine implementation.
visibility = [ "//fuchsia_web/webengine:web_engine_core" ]

mojom("mojom") {
  sources = [ "web_engine_media_resource_provider.mojom" ]

  export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
  export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/public/platform/web_common.h"

  shared_cpp_typemaps = {
    types = [
      {
        mojom = "mojom.AudioConsumerRequest"
        cpp = "::fidl::InterfaceRequest<::fuchsia::media::AudioConsumer>"
        move_only = true
      },
    ]
    traits_headers = [ "web_engine_media_resource_provider_mojom_traits.h" ]
    traits_public_deps = [
      "//mojo/public/cpp/base/fuchsia:traits",
      "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.media:fuchsia.media_hlcpp",
    ]
  }

  cpp_typemaps = [ shared_cpp_typemaps ]
  blink_cpp_typemaps = [ shared_cpp_typemaps ]
}