blob: 81b5703a5258813ba81784e75877e23598f309ec [file] [log] [blame]
# 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("video_capture") {
generate_java = true
sources = [ "video_capture.mojom" ]
public_deps = [
":video_capture_buffer",
":video_capture_types",
"//mojo/public/mojom/base",
"//ui/gfx/geometry/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"
}
mojom("video_capture_buffer") {
generate_java = true
sources = [ "video_capture_buffer.mojom" ]
public_deps = [
":video_capture_types",
"//gpu/ipc/common:interfaces",
"//media//mojo/mojom:mojom",
"//mojo/public/mojom/base",
"//ui/gfx/geometry/mojom",
"//ui/gfx/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"
}
mojom("video_capture_types") {
generate_java = true
sources = [ "video_capture_types.mojom" ]
public_deps = [
"//mojo/public/mojom/base",
"//ui/gfx/geometry/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_video_capture_cpp_typemap = {
types = [
{
mojom = "media.mojom.ResolutionChangePolicy"
cpp = "::media::ResolutionChangePolicy"
},
{
mojom = "media.mojom.PowerLineFrequency"
cpp = "::media::PowerLineFrequency"
},
{
mojom = "media.mojom.VideoCapturePixelFormat"
cpp = "::media::VideoPixelFormat"
},
{
mojom = "media.mojom.VideoCaptureBufferType"
cpp = "::media::VideoCaptureBufferType"
},
{
mojom = "media.mojom.VideoCaptureControlSupport"
cpp = "::media::VideoCaptureControlSupport"
},
{
mojom = "media.mojom.VideoCaptureError"
cpp = "::media::VideoCaptureError"
},
{
mojom = "media.mojom.VideoCaptureFeedback"
cpp = "::media::VideoCaptureFeedback"
},
{
mojom = "media.mojom.VideoCaptureFrameDropReason"
cpp = "::media::VideoCaptureFrameDropReason"
},
{
mojom = "media.mojom.VideoCaptureFormat"
cpp = "::media::VideoCaptureFormat"
},
{
mojom = "media.mojom.VideoCaptureParams"
cpp = "::media::VideoCaptureParams"
},
{
mojom = "media.mojom.VideoCaptureDeviceDescriptor"
cpp = "::media::VideoCaptureDeviceDescriptor"
},
{
mojom = "media.mojom.VideoCaptureDeviceInfo"
cpp = "::media::VideoCaptureDeviceInfo"
},
{
mojom = "media.mojom.VideoFacingMode"
cpp = "::media::VideoFacingMode"
},
]
traits_headers = [ "video_capture_types_mojom_traits.h" ]
traits_public_deps = [ ":video_capture_mojom_support" ]
}
cpp_typemaps = [ shared_video_capture_cpp_typemap ]
blink_cpp_typemaps = [ shared_video_capture_cpp_typemap ]
}
component("video_capture_mojom_support") {
sources = [
"video_capture_types_mojom_traits.cc",
"video_capture_types_mojom_traits.h",
]
public_deps = [
":video_capture_shared_cpp_sources",
"//media/capture:capture_base",
]
deps = [
"//media/base:video_facing",
"//ui/gfx/geometry/mojom",
]
defines = [ "IS_MEDIA_CAPTURE_MOJOM_TRAITS_IMPL" ]
}
mojom("image_capture") {
sources = [ "image_capture.mojom" ]
# ImageCapture Mojom interfaces are exposed publicly to layout tests which use
# prepackaged redistributable JS bindings. It is therefore not desirable to
# scramble these messages.
scramble_message_ids = false
webui_module_path = "/media/capture/mojom"
}
source_set("image_capture_types") {
sources = [
"image_capture_types.cc",
"image_capture_types.h",
]
deps = [ ":image_capture" ]
}