# Copyright 2020 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")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/protobuf/proto_library.gni")
proto_library("attribution_reporting_proto") {
sources = [ "attribution_reporting.proto" ]
generate_python = false
}
mojom("mojo_bindings") {
sources = [ "attribution_reporting.mojom" ]
webui_module_path = "/"
generate_java = false
disable_variants = true
disallow_interfaces = true
}
mojom("registration_result_mojom") {
sources = [
"aggregatable_result.mojom",
"event_level_result.mojom",
"process_aggregatable_debug_report_result.mojom",
"store_source_result.mojom",
]
webui_module_path = "/"
generate_java = false
disable_variants = true
disallow_interfaces = true
}
mojom("internals_mojo_bindings") {
sources = [ "attribution_internals.mojom" ]
public_deps = [
":mojo_bindings",
":registration_result_mojom",
"//components/attribution_reporting:registration_mojom",
"//components/attribution_reporting:source_type_mojom",
"//services/network/public/mojom:mojom_attribution",
"//url/mojom:url_mojom_origin",
]
webui_module_path = "/"
generate_java = false
disable_variants = true
cpp_typemaps = [
{
types = [
{
mojom = "attribution_internals.mojom.ReportID"
cpp = "::content::AttributionReport::Id"
copyable_pass_by_value = true
},
]
traits_headers = [
"attribution_internals_mojom_traits.h",
"attribution_report.h",
]
traits_deps = [
# //content/common/aggregatable_report.mojom is transitively included.
"//content/common:mojo_bindings",
]
},
]
}
# Platforms where sqlite_dev_shell is defined.
if (is_win || is_mac || is_linux || is_chromeos) {
source_set("sqlite_test_utils") {
testonly = true
sources = [
"sql_query_plan_test_util.cc",
"sql_query_plan_test_util.h",
]
deps = [
"//base",
"//testing/gmock",
]
data_deps = [ "//third_party/sqlite:sqlite_dev_shell" ]
}
}
executable("attribution_reporting_interop") {
sources = [ "interop/interop_main.cc" ]
deps = [
"//base",
"//content/public/browser",
"//content/test:test_support",
]
testonly = true
}
fuzzer_test("attribution_interop_fuzzer") {
sources = [ "interop/fuzzer.cc" ]
deps = [
"//base",
"//content/test:test_support",
"//testing/libfuzzer/proto:json_proto",
"//testing/libfuzzer/proto:json_proto_converter",
"//third_party/libprotobuf-mutator",
]
}