blob: 1d3e9961cba865d21610af4c959a0081fb790362 [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("//build/config/features.gni")
import("//testing/test.gni")
static_library("privacy_sandbox_prefs") {
sources = [
"privacy_sandbox_prefs.cc",
"privacy_sandbox_prefs.h",
]
deps = [
":tracking_protection_prefs",
"//components/pref_registry",
"//components/prefs",
]
public_deps = [ "//base" ]
}
component("features") {
output_name = "privacy_sandbox_features"
defines = [ "IS_PRIVACY_SANDBOX_FEATURES_IMPL" ]
sources = [
"privacy_sandbox_features.cc",
"privacy_sandbox_features.h",
]
public_deps = [ "//base" ]
}
source_set("privacy_sandbox_survey_service") {
public = [ "privacy_sandbox_survey_service.h" ]
}
source_set("tracking_protection_onboarding") {
sources = [
"tracking_protection_onboarding.cc",
"tracking_protection_onboarding.h",
]
deps = [
":features",
":tracking_protection_prefs",
"//components/keyed_service/core",
"//components/pref_registry",
"//components/prefs",
"//components/version_info",
]
public_deps = [ "//base" ]
}
source_set("tracking_protection_settings") {
sources = [
"tracking_protection_settings.cc",
"tracking_protection_settings.h",
"tracking_protection_settings_observer.h",
]
deps = [
":features",
":privacy_sandbox_prefs",
":tracking_protection_onboarding",
":tracking_protection_prefs",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/keyed_service/core",
"//components/policy/core/common",
"//components/pref_registry",
"//components/prefs",
"//url",
]
public_deps = [ "//base" ]
}
static_library("tracking_protection_prefs") {
sources = [
"tracking_protection_prefs.cc",
"tracking_protection_prefs.h",
]
deps = [
"//components/pref_registry",
"//components/prefs",
]
public_deps = [ "//base" ]
}
source_set("tpcd") {
sources = [
"tpcd_pref_names.cc",
"tpcd_pref_names.h",
"tpcd_utils.h",
]
deps = [
"//components/pref_registry",
"//components/prefs",
]
public_deps = [ "//base" ]
}
# These sources depend on targets from "//content/browser", which means they can only
# be loaded on Blink builds.
# NOTE: If/when targets used on iOS are refactored into a separate BUILD file, this
# check can be removed.
if (use_blink) {
source_set("privacy_sandbox_settings_headers") {
sources = [
"privacy_sandbox_settings.h",
"privacy_sandbox_settings_impl.h",
# This file has no dependencies. However, privacy_sandbox_setttings files
# need it and it is only needed when :privacy_sandbox_settings_headers
# is needed. Putting it here seemed like a better alternative to creating
# a new :tpcd_experiment_eligibility target.
"tpcd_experiment_eligibility.h",
]
deps = [
":tracking_protection_settings",
"//components/browsing_topics/common",
"//components/keyed_service/core",
"//components/pref_registry",
"//components/prefs",
"//content/public/browser",
"//third_party/blink/public/common",
"//url",
]
public_deps = [ "//base" ]
}
source_set("privacy_sandbox") {
sources = [
"canonical_topic.cc",
"canonical_topic.h",
"privacy_sandbox_settings_impl.cc",
]
deps = [
":privacy_sandbox_prefs",
":privacy_sandbox_survey_service",
":tracking_protection_settings",
"//components/browsing_topics/common",
"//components/content_settings/core/browser",
"//components/content_settings/core/browser:cookie_settings",
"//components/content_settings/core/common",
"//components/keyed_service/core",
"//components/metrics/dwa",
"//components/metrics/dwa:dwa_builders",
"//components/pref_registry",
"//components/prefs",
"//components/privacy_sandbox/privacy_sandbox_attestations",
"//components/strings:components_strings_grit",
"//content/public/browser",
"//net",
"//third_party/blink/public/common",
"//ui/base",
"//url",
]
public_deps = [
":features",
":privacy_sandbox_settings_headers",
]
}
source_set("test_support") {
testonly = true
sources = [
"mock_privacy_sandbox_settings.cc",
"mock_privacy_sandbox_settings.h",
"privacy_sandbox_test_util.cc",
"privacy_sandbox_test_util.h",
]
deps = [
":privacy_sandbox",
":privacy_sandbox_prefs",
"//base/test:test_support",
"//components/browsing_topics:test_support",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/content_settings/core/test:test_support",
"//components/metrics/dwa",
"//components/metrics/dwa:dwa_builders",
"//components/prefs:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations",
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
"//components/sync_preferences:test_support",
"//content/test:test_support",
"//net",
"//testing/gmock",
"//testing/gtest",
"//ui/base",
"//url",
]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"tracking_protection_onboarding_unittest.cc",
"tracking_protection_settings_unittest.cc",
]
data = [ "//tools/metrics/histograms/metadata/privacy/histograms.xml" ]
deps = [
":features",
":privacy_sandbox_prefs",
":tracking_protection_onboarding",
":tracking_protection_prefs",
":tracking_protection_settings",
"//base/test:test_support",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/content_settings/core/test:test_support",
"//components/prefs:test_support",
"//components/signin/public/identity_manager:test_support",
"//components/sync_preferences:test_support",
"//components/version_info",
"//testing/gtest",
]
if (use_blink) {
sources += [
"canonical_topic_unittest.cc",
"privacy_sandbox_settings_impl_unittest.cc",
"privacy_sandbox_test_util_unittest.cc",
"tpcd_experiment_eligibility_unittest.cc",
]
deps += [
":privacy_sandbox",
":test_support",
"//components/browsing_topics:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations",
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
"//components/strings:components_strings_grit",
"//content/public/browser",
"//content/test:test_support",
"//net",
]
}
# 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" ]
}