blob: 082af184d0dc753691917dd611b1a2876cb31e80 [file] [log] [blame]
# Copyright 2023 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")
assert(is_win || is_mac || is_linux || is_chromeos || is_android)
source_set("optimization_guide") {
sources = [
"chrome_hints_manager.h",
"chrome_model_quality_logs_uploader_service.h",
"chrome_prediction_model_store.h",
"model_execution/optimization_guide_global_state.h",
"model_validator_keyed_service.h",
"model_validator_keyed_service_factory.h",
"optimization_guide_internals_ui.h",
"optimization_guide_keyed_service.h",
"optimization_guide_keyed_service_factory.h",
"optimization_guide_tab_url_provider.h",
"optimization_guide_web_contents_observer.h",
"prediction/chrome_profile_download_service_tracker.h",
"prediction/prediction_model_download_client.h",
]
public_deps = [
"//base",
"//chrome/browser:main_extra_parts",
"//chrome/browser/navigation_predictor",
"//chrome/browser/profiles:profile",
"//components/keyed_service/core",
"//components/optimization_guide/core",
"//components/optimization_guide/core:prediction",
"//components/optimization_guide/optimization_guide_internals/webui",
"//components/optimization_guide/public/mojom",
"//components/services/unzip/content",
"//components/signin/public/identity_manager",
"//content/public/browser",
"//mojo/public/cpp/bindings",
"//ui/base",
"//ui/webui",
]
if (is_android) {
public_deps += [ "//chrome/browser/bookmarks/android" ]
}
}
source_set("impl") {
sources = [
"chrome_hints_manager.cc",
"chrome_model_quality_logs_uploader_service.cc",
"chrome_prediction_model_store.cc",
"model_execution/optimization_guide_global_state.cc",
"model_validator_keyed_service.cc",
"model_validator_keyed_service_factory.cc",
"optimization_guide_internals_ui.cc",
"optimization_guide_keyed_service.cc",
"optimization_guide_keyed_service_factory.cc",
"optimization_guide_tab_url_provider.cc",
"optimization_guide_web_contents_observer.cc",
"prediction/chrome_profile_download_service_tracker.cc",
"prediction/prediction_model_download_client.cc",
]
public_deps = [ "//chrome/browser:browser_public_dependencies" ]
deps = [
":optimization_guide",
"//chrome/browser:browser_process",
"//chrome/browser/profiles",
"//chrome/browser/signin",
"//chrome/browser/sync",
"//chrome/browser/ui",
"//components/metrics_services_manager",
"//components/no_state_prefetch/browser",
"//components/user_prefs",
"//components/variations/service",
"//components/version_info",
"//ui/webui",
]
if (is_android) {
deps += [
"//base",
"//chrome/browser/optimization_guide/android:jni_headers",
]
} else {
deps += [ "//chrome/browser/ui/tabs:tab_strip" ]
}
}
source_set("test_support") {
testonly = true
sources = [
"browser_test_util.cc",
"browser_test_util.h",
"mock_optimization_guide_keyed_service.cc",
"mock_optimization_guide_keyed_service.h",
]
deps = [
":optimization_guide",
"//base",
"//chrome/browser/prefs",
"//chrome/browser/signin",
"//chrome/common",
"//chrome/test:test_support",
"//components/metrics:content",
"//components/optimization_guide/core",
"//components/prefs",
"//components/signin/public/identity_manager",
]
# chrome/browser/ui/passwords/manage_passwords_test.h
# -> mock_optimization_guide_keyed_service.h
# -> chrome/test/base/testing_browser_process.h
allow_circular_includes_from = [ "//chrome/test:test_support" ]
}
if (!is_android) {
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"hints_fetcher_browsertest.cc",
"model_execution/model_execution_browsertest.cc",
"model_execution/model_execution_live_test.cc",
"model_execution/model_execution_validation_browsertest.cc",
"optimization_guide_keyed_service_browsertest.cc",
]
if (build_with_tflite_lib) {
sources += [
"prediction/prediction_manager_browsertest.cc",
"prediction/prediction_model_store_browsertest.cc",
]
}
deps = [
":optimization_guide",
":test_support",
"//base/test:test_proto",
"//base/test:test_support",
"//chrome/browser/signin/e2e_tests:test_support",
"//chrome/browser/ui/webauthn",
"//chrome/test:test_support",
"//components/metrics_services_manager",
"//components/no_state_prefetch/browser",
"//components/optimization_guide/core:test_support",
"//components/site_engagement/content",
"//components/variations/service",
"//third_party/tflite:buildflags",
]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"chrome_hints_manager_unittest.cc",
"chrome_model_quality_logs_uploader_service_unittest.cc",
"prediction/chrome_profile_download_service_tracker_unittest.cc",
]
deps = [
":optimization_guide",
":test_support",
"//chrome/test:test_support",
"//components/optimization_guide/core:test_support",
"//components/prefs:test_support",
"//components/unified_consent",
"//components/variations:test_support",
]
if (!is_android) {
sources += [
# Android uses a different way of showing browser windows.
"optimization_guide_tab_url_provider_unittest.cc",
]
}
}