blob: c1528e4ca6d68ae0feebe15e7ec9734cd321c9c1 [file] [log] [blame]
# 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("//components/optimization_guide/features.gni")
import("//third_party/protobuf/proto_library.gni")
proto_library("prediction_service_messages_proto") {
sources = [
"permissions_aiv3_model_metadata.proto",
"permissions_aiv4_model_metadata.proto",
"prediction_model_metadata.proto",
"prediction_service_messages.proto",
]
}
source_set("prediction_service") {
sources = [
"permission_ui_selector.cc",
"permission_ui_selector.h",
"prediction_common.cc",
"prediction_common.h",
"prediction_request_features.h",
"prediction_service.cc",
"prediction_service.h",
"prediction_service_base.h",
]
deps = [
"//components/keyed_service/content",
"//components/permissions:permissions_common",
"//components/version_info",
"//content/public/browser",
"//services/network/public/cpp",
"//third_party/protobuf:protobuf_lite",
]
public_deps = [
":prediction_service_messages_proto",
"//components/optimization_guide/core",
"//components/optimization_guide/proto:optimization_guide_proto",
]
if (build_with_tflite_lib) {
sources += [
"permissions_ai_encoder_base.cc",
"permissions_ai_encoder_base.h",
"permissions_aiv3_executor.cc",
"permissions_aiv3_executor.h",
"permissions_aiv3_handler.cc",
"permissions_aiv3_handler.h",
"permissions_aiv4_executor.cc",
"permissions_aiv4_executor.h",
"permissions_aiv4_handler.cc",
"permissions_aiv4_handler.h",
"prediction_model_executor.cc",
"prediction_model_executor.h",
"prediction_model_handler.cc",
"prediction_model_handler.h",
"prediction_signature_model_executor.cc",
"prediction_signature_model_executor.h",
]
deps += [
"//components/passage_embeddings",
"//skia",
"//third_party/tflite:tflite_public_headers",
"//third_party/tflite_support",
"//third_party/tflite_support:tflite_support_proto",
]
}
}
if (build_with_tflite_lib) {
bundle_data("unit_tests_bundle_data") {
visibility = [ ":unit_tests" ]
testonly = true
sources = [
"//components/test/data/permissions/aiv3_ret_0.tflite",
"//components/test/data/permissions/aiv3_ret_0_5.tflite",
"//components/test/data/permissions/aiv3_ret_1.tflite",
]
outputs = [ "{{bundle_resources_dir}}/" +
"{{source_root_relative_dir}}/{{source_file_part}}" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [ "prediction_service_unittest.cc" ]
deps = [
":prediction_service",
"//base/test:test_support",
"//components/optimization_guide/core:test_support",
"//components/permissions:permissions_common",
"//services/network:test_support",
"//services/network/public/cpp",
"//testing/gtest",
"//third_party/protobuf:protobuf_lite",
"//ui/gfx",
]
if (build_with_tflite_lib) {
sources += [
"permissions_aiv3_handler_unittest.cc",
"permissions_aiv4_handler_unittest.cc",
]
deps += [
":unit_tests_bundle_data",
"//base",
"//components/permissions:test_support",
]
data = [ "//components/test/data/permissions/" ]
}
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}