| # 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 = [ |
| ":privacy_sandbox_notice_storage", |
| ":tracking_protection_prefs", |
| "//components/pref_registry: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_notice_constants") { |
| sources = [ "privacy_sandbox_notice_constants.h" ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| source_set("privacy_sandbox_survey_service") { |
| sources = [ |
| "privacy_sandbox_survey_service.cc", |
| "privacy_sandbox_survey_service.h", |
| ] |
| |
| deps = [ |
| ":features", |
| ":privacy_sandbox_prefs", |
| "//components/keyed_service/core:core", |
| "//components/prefs", |
| "//components/signin/public/identity_manager", |
| ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| source_set("tracking_protection_onboarding") { |
| sources = [ |
| "tracking_protection_onboarding.cc", |
| "tracking_protection_onboarding.h", |
| ] |
| |
| deps = [ |
| ":features", |
| ":tracking_protection_prefs", |
| "//components/keyed_service/core:core", |
| "//components/pref_registry: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:core", |
| "//components/pref_registry:pref_registry", |
| "//components/prefs", |
| "//url:url", |
| ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| static_library("tracking_protection_prefs") { |
| sources = [ |
| "tracking_protection_prefs.cc", |
| "tracking_protection_prefs.h", |
| ] |
| |
| deps = [ |
| "//components/pref_registry:pref_registry", |
| "//components/prefs", |
| ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| source_set("privacy_sandbox_notice_storage") { |
| sources = [ |
| "privacy_sandbox_notice_storage.cc", |
| "privacy_sandbox_notice_storage.h", |
| ] |
| |
| deps = [ |
| ":features", |
| ":privacy_sandbox_notice_constants", |
| "//base", |
| "//base/version_info:version_info", |
| "//components/pref_registry: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:pref_registry", |
| "//components/prefs", |
| ] |
| |
| public_deps = [ "//base" ] |
| } |
| |
| # These sources depend on targets from "//content/browser", which means they can't be |
| # loaded on ios. |
| # TOOD(b/301947962): Delete this check after CookieSettings is removed from iOS. |
| 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:common", |
| "//components/keyed_service/core:core", |
| "//components/pref_registry:pref_registry", |
| "//components/prefs", |
| "//content/public/browser", |
| "//third_party/blink/public/common", |
| "//url: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:common", |
| "//components/content_settings/core/browser", |
| "//components/content_settings/core/browser:cookie_settings", |
| "//components/content_settings/core/common", |
| "//components/keyed_service/core:core", |
| "//components/pref_registry:pref_registry", |
| "//components/prefs", |
| "//components/privacy_sandbox/privacy_sandbox_attestations", |
| "//components/strings:components_strings_grit", |
| "//content/public/browser", |
| "//net:net", |
| "//third_party/blink/public/common", |
| "//ui/base:base", |
| "//url: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:browser", |
| "//components/content_settings/core/common:common", |
| "//components/content_settings/core/test:test_support", |
| "//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", |
| "//testing/gmock", |
| "//testing/gtest:gtest", |
| "//ui/base:base", |
| "//url:url", |
| ] |
| } |
| } |
| |
| test("fuzz_tests") { |
| sources = [ "privacy_sandbox_notice_storage_fuzztest.cc" ] |
| |
| fuzztests = [ |
| "PrivacySandboxNoticeStorageFuzzTest.CheckConvertsV1SchemaSuccessfully", |
| ] |
| |
| deps = [ |
| ":privacy_sandbox_notice_storage", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/fuzztest:fuzztest_gtest_main", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "privacy_sandbox_notice_storage_unittest.cc", |
| "privacy_sandbox_survey_service_unittest.cc", |
| "tracking_protection_onboarding_unittest.cc", |
| ] |
| |
| data = [ "//tools/metrics/histograms/metadata/privacy/histograms.xml" ] |
| |
| deps = [ |
| ":features", |
| ":privacy_sandbox_notice_constants", |
| ":privacy_sandbox_notice_storage", |
| ":privacy_sandbox_prefs", |
| ":privacy_sandbox_survey_service", |
| ":tracking_protection_onboarding", |
| ":tracking_protection_prefs", |
| ":tracking_protection_settings", |
| "//base/test:test_support", |
| "//components/content_settings/core/common", |
| "//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", |
| "tracking_protection_settings_unittest.cc", |
| ] |
| |
| deps += [ |
| ":privacy_sandbox", |
| ":test_support", |
| "//components/browsing_topics:test_support", |
| "//components/content_settings/core/browser:browser", |
| "//components/content_settings/core/test: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", |
| ] |
| } |
| } |