| # 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" ] |
| } |