# Copyright 2014 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/config/chrome_build.gni") import("//tools/json_to_struct/json_to_struct.gni") if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } json_to_struct("ai_mode_button_config") { source = "ai_mode_button_config.json" schema_file = "ai_mode_button_config_schema.json" namespace = "ai_mode_button_config" } static_library("search_engines") { sources = [ "ai_mode_button_service.cc", "ai_mode_button_service.h", "choice_made_location.h", "default_search_manager.cc", "default_search_manager.h", "enterprise/default_search_policy_handler.cc", "enterprise/default_search_policy_handler.h", "enterprise/enterprise_search_manager.cc", "enterprise/enterprise_search_manager.h", "keyword_table.cc", "keyword_table.h", "keyword_web_data_service.cc", "keyword_web_data_service.h", "reconciling_template_url_data_holder.cc", "reconciling_template_url_data_holder.h", "search_engine_choice/search_engine_choice_metrics_service_accessor.h", "search_engine_choice/search_engine_choice_service.cc", "search_engine_choice/search_engine_choice_service.h", "search_engine_choice/search_engine_choice_utils.cc", "search_engine_choice/search_engine_choice_utils.h", "search_host_to_urls_map.cc", "search_host_to_urls_map.h", "search_terms_data.cc", "search_terms_data.h", "template_url.cc", "template_url.h", "template_url_data.cc", "template_url_data.h", "template_url_data_util.cc", "template_url_data_util.h", "template_url_fetcher.cc", "template_url_fetcher.h", "template_url_id.h", "template_url_parser.cc", "template_url_parser.h", "template_url_prepopulate_data.cc", "template_url_prepopulate_data.h", "template_url_prepopulate_data_resolver.cc", "template_url_prepopulate_data_resolver.h", "template_url_service.cc", "template_url_service.h", "template_url_service_client.h", "template_url_service_observer.h", "template_url_starter_pack_data.cc", "template_url_starter_pack_data.h", "ui_utils.cc", "ui_utils.h", "util.cc", "util.h", ] public_deps = [ ":ai_mode_button_config", ":search_engine_pref_names", ":search_engine_type", ":search_engine_utils", ":search_engines_switches", "//base", "//components/google/core/common", "//components/keyed_service/core", "//components/prefs", "//components/sync", "//components/webdata/common", "//third_party/metrics_proto", "//third_party/omnibox_proto", "//third_party/search_engines_data:prepopulated_engines", ] deps = [ "//base:i18n", "//components/country_codes", "//components/crash/core/common:crash_key", "//components/database_utils", "//components/infobars/core", "//components/lens:features", "//components/lens:lens_url_utils", "//components/lens:mime_type", "//components/lens/proto/server:proto", "//components/metrics", "//components/metrics/private_metrics", "//components/omnibox/common", "//components/policy:generated", "//components/policy/core/browser", "//components/pref_registry", "//components/regional_capabilities", "//components/regional_capabilities:country_access_reason", "//components/regional_capabilities:data", "//components/search_engines/search_engine_choice:buildflags", "//components/search_engines/search_engine_choice:switches", "//components/search_provider_logos:switches", "//components/signin/public/base", "//components/strings", "//components/url_formatter", "//components/variations", "//google_apis", "//net", "//services/data_decoder/public/cpp", "//services/network/public/cpp", "//services/network/public/mojom", "//services/preferences/tracked", "//sql", "//third_party/lens_server_proto:lens_overlay_proto", "//third_party/metrics_proto", "//third_party/omnibox_proto", "//ui/base", "//ui/gfx", "//ui/gfx/geometry", "//url", ] if (!is_fuchsia) { deps += [ "//components/variations/service" ] } if (is_android) { sources += [ "android/template_url_android.cc", "android/template_url_android.h", "android/template_url_service_android.cc", "android/template_url_service_android.h", ] deps += [ "//components/search_engines/android:jni_headers" ] } deps += [ "//components/resources:components_scaled_resources_grit", "//ui/resources", ] if (enable_builtin_search_provider_assets) { deps += [ "//third_party/search_engines_data:resources" ] } if (is_linux || is_win || is_mac || is_chromeos) { sources += [ "enterprise/search_aggregator_policy_handler.cc", "enterprise/search_aggregator_policy_handler.h", "enterprise/search_engine_fields_validators.cc", "enterprise/search_engine_fields_validators.h", "enterprise/site_search_policy_handler.cc", "enterprise/site_search_policy_handler.h", ] } } source_set("search_engine_utils") { sources = [ "search_engine_utils.cc", "search_engine_utils.h", ] public_deps = [ ":search_engine_type", "//components/google/core/common", "//components/regional_capabilities", "//components/regional_capabilities:switches", "//third_party/search_engines_data:prepopulated_engines", ] deps = [ "//url" ] } source_set("search_engine_type") { sources = [ "search_engine_type.h" ] } source_set("search_engine_pref_names") { sources = [ "search_engines_pref_names.h" ] } static_library("test_support") { testonly = true sources = [ "search_engines_test_environment.cc", "search_engines_test_environment.h", "search_engines_test_util.cc", "search_engines_test_util.h", "template_url_service_test_util.cc", "template_url_service_test_util.h", "test_ai_mode_button_service.h", "testing_search_terms_data.cc", "testing_search_terms_data.h", ] public_deps = [ ":search_engines", "//base", "//base/test:test_support", "//components/country_codes", "//components/metrics", "//components/metrics:metrics_pref_names", "//components/os_crypt/browser:test_support", "//components/policy/core/common", "//components/prefs:test_support", "//components/regional_capabilities", "//components/regional_capabilities:test_support", "//components/signin/public/identity_manager:test_support", "//components/sync_preferences:test_support", "//testing/gtest", "//third_party/search_engines_data:regional_settings", ] } source_set("unit_tests") { testonly = true sources = [ "ai_mode_button_service_unittest.cc", "default_search_manager_unittest.cc", "enterprise/enterprise_search_manager_unittest.cc", "keyword_table_unittest.cc", "reconciling_template_url_data_holder_unittest.cc", "search_engine_choice/search_engine_choice_eligibility_unittest.cc", "search_engine_choice/search_engine_choice_service_test_base.cc", "search_engine_choice/search_engine_choice_service_test_base.h", "search_engine_choice/search_engine_choice_service_unittest.cc", "search_engine_choice/search_engine_choice_utils_unittest.cc", "search_host_to_urls_map_unittest.cc", "template_url_data_unittest.cc", "template_url_prepopulate_data_unittest.cc", "template_url_service_unittest.cc", "template_url_service_util_unittest.cc", "template_url_unittest.cc", "ui_utils_unittest.cc", "util_unittest.cc", ] deps = [ ":test_support", "//base", "//base/test:test_support", "//build:branding_buildflags", "//components/country_codes", "//components/google/core/common", "//components/lens:features", "//components/metrics", "//components/omnibox/common", "//components/policy/core/common", "//components/policy/core/common:test_support", "//components/pref_registry", "//components/prefs", "//components/prefs:test_support", "//components/regional_capabilities", "//components/regional_capabilities:data", "//components/search_engines/search_engine_choice:buildflags", "//components/search_engines/search_engine_choice:switches", "//components/sync:test_support", "//components/sync_preferences:test_support", "//components/variations:test_support", "//components/webdata/common", "//net", "//services/network:test_support", "//services/network/public/cpp", "//services/preferences/tracked", "//sql", "//sql:test_support", "//testing/gmock", "//testing/gtest", "//third_party/search_engines_data:prepopulated_engines", "//third_party/search_engines_data:regional_settings", "//ui/base", "//url", ] if (is_linux || is_win || is_mac || is_chromeos) { sources += [ "enterprise/search_aggregator_policy_handler_unittest.cc", "enterprise/site_search_policy_handler_unittest.cc", ] } if (!is_ios) { sources += [ "enterprise/default_search_policy_handler_unittest.cc" ] deps += [ "//components/policy:generated", "//components/policy/core/browser:test_support", ] } if (is_android) { sources += [ "android/template_url_service_android_unittest.cc" ] deps += [ "//components/search_engines/android:jni_headers" ] } # 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" ] } if (is_android) { java_cpp_enum("search_engine_enums_java") { sources = [ "choice_made_location.h", "search_engine_type.h", "template_url_starter_pack_data.h", ] } } component("search_engines_switches") { output_name = "search_engines_switches" defines = [ "IS_SEARCH_ENGINES_SWITCHES_IMPL" ] sources = [ "search_engines_switches.cc", "search_engines_switches.h", ] deps = [ "//base" ] }