blob: f33d37e613514815b43772daa3cba7b913bc7981 [file] [log] [blame]
# 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("//build/buildflag_header.gni")
import("//components/lens/features.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//pdf/features.gni")
# Generate a buildflag header for compile-time checking of Lens feature support.
buildflag_header("buildflags") {
header = "buildflags.h"
flags = [
"ENABLE_LENS_DESKTOP=$enable_lens_desktop",
"ENABLE_LENS_DESKTOP_GOOGLE_BRANDED_FEATURES=$enable_lens_desktop_google_branded_features",
]
}
static_library("lens") {
sources = [
"contextual_input.cc",
"contextual_input.h",
"lens_composebox_user_action.h",
"lens_constants.h",
"lens_entrypoints.h",
"lens_metadata.cc",
"lens_metadata.h",
"lens_metrics.cc",
"lens_metrics.h",
"lens_overlay_dismissal_source.h",
"lens_overlay_first_interaction_type.h",
"lens_overlay_invocation_source.h",
"lens_overlay_metrics.cc",
"lens_overlay_metrics.h",
"lens_overlay_new_tab_source.h",
"lens_overlay_non_blocking_privacy_notice_user_action.h",
"lens_overlay_request_id_generator.cc",
"lens_overlay_request_id_generator.h",
"lens_overlay_side_panel_menu_option.h",
"lens_overlay_side_panel_result.h",
"lens_payload_construction.cc",
"lens_payload_construction.h",
"lens_permission_user_action.h",
"lens_request_construction.cc",
"lens_request_construction.h",
"lens_testing_utils.cc",
"lens_testing_utils.h",
"lens_url_utils.cc",
"lens_url_utils.h",
"ref_counted_lens_overlay_client_logs.cc",
"ref_counted_lens_overlay_client_logs.h",
]
deps = [
"//base",
"//components/base32",
"//components/lens:lens_mojo",
"//components/lens/proto/v1:lens_latencies_metadata_proto",
"//components/sessions",
"//components/signin/public/identity_manager",
"//components/tabs:public",
"//components/variations",
"//components/variations:variations_mojom",
"//google_apis/common",
"//net",
"//pdf:buildflags",
"//services/metrics/public/cpp:metrics_cpp",
"//services/metrics/public/cpp:ukm_builders",
"//third_party/lens_server_proto:lens_overlay_proto",
"//url",
]
public_deps = [
":features",
":mime_type",
]
sources += [
"lens_bitmap_processing.cc",
"lens_bitmap_processing.h",
]
deps += [ "//ui/gfx" ]
if (!is_ios) {
deps += [ "//skia" ]
}
if (is_win || is_mac || is_linux || is_chromeos || is_android) {
sources += [
"tab_contextualization_controller.cc",
"tab_contextualization_controller.h",
]
public_deps += [ "//ui/base/unowned_user_data" ]
deps += [
"//components/optimization_guide/content/browser:page_context_eligibility",
"//content/public/browser",
]
if (enable_pdf) {
public_deps += [
"//components/pdf/browser",
"//pdf/mojom",
]
}
}
if (!is_android) {
deps += [ "//third_party/zstd:compress" ]
}
if (enable_pdf) {
public_deps += [
"//components/pdf/browser",
"//pdf/mojom",
]
}
}
source_set("mime_type") {
sources = [ "lens_overlay_mime_type.h" ]
}
component("features") {
output_name = "lens_features"
defines = [ "IS_LENS_FEATURES_IMPL" ]
sources = [
"lens_features.cc",
"lens_features.h",
]
deps = [
"//base",
"//build:branding_buildflags",
]
}
mojom("lens_mojo") {
sources = [ "lens_metadata.mojom" ]
deps = [
"//mojo/public/mojom/base",
"//ui/gfx/geometry/mojom",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"lens_overlay_request_id_generator_unittest.cc",
"lens_url_utils_unittest.cc",
]
deps = [
":lens",
"//base",
"//base/test:test_support",
"//components/base32",
"//testing/gmock",
"//testing/gtest",
"//third_party/lens_server_proto:lens_overlay_proto",
"//url",
]
if (!is_ios) {
sources += [ "lens_bitmap_processing_unittest.cc" ]
deps += [
"//skia",
"//ui/gfx",
]
}
}
source_set("enterprise_policy") {
public = [ "lens_overlay_permission_utils.h" ]
sources = [ "lens_overlay_permission_utils.cc" ]
deps = [
"//components/prefs",
"//components/sync/service",
"//components/sync_preferences",
"//components/unified_consent",
]
}