# Copyright 2022 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") import("//testing/libfuzzer/fuzzer_test.gni") source_set("browsing_topics") { sources = [ "annotator.cc", "annotator.h", "browsing_topics_calculator.cc", "browsing_topics_calculator.h", "browsing_topics_page_load_data_tracker.cc", "browsing_topics_page_load_data_tracker.h", "browsing_topics_service.h", "browsing_topics_service_impl.cc", "browsing_topics_service_impl.h", "browsing_topics_state.cc", "browsing_topics_state.h", "candidate_topic.cc", "candidate_topic.h", "epoch_topics.cc", "epoch_topics.h", "topic_and_domains.cc", "topic_and_domains.h", "util.cc", "util.h", ] if (build_with_tflite_lib) { sources += [ "annotator_impl.cc", "annotator_impl.h", ] } else { sources += [ "annotator_noop.cc", "annotator_noop.h", ] } deps = [ "//base", "//components/browsing_topics/common:common", "//components/browsing_topics/mojom:mojo_bindings", "//components/history/content/browser", "//components/history/core/browser", "//components/keyed_service/core", "//components/optimization_guide/core", "//components/optimization_guide/proto:optimization_guide_proto", "//components/privacy_sandbox", "//content/public/browser", "//content/public/common:common", "//crypto", "//net/base/registry_controlled_domains", "//services/metrics/public/cpp:metrics_cpp", "//services/metrics/public/cpp:ukm_builders", "//third_party/blink/public/common", ] } source_set("test_support") { testonly = true sources = [ "test_util.cc", "test_util.h", ] public_deps = [ "//base" ] deps = [ ":browsing_topics", "//base/test:test_support", "//components/browsing_topics/mojom:mojo_bindings", "//components/history/core/browser:browser", "//components/ukm:test_support", "//services/metrics/public/cpp:ukm_builders", "//third_party/blink/public/common", ] } source_set("unit_tests") { testonly = true sources = [ "browsing_topics_calculator_unittest.cc", "browsing_topics_page_load_data_tracker_unittest.cc", "browsing_topics_service_impl_unittest.cc", "browsing_topics_state_unittest.cc", "epoch_topics_unittest.cc", "topic_and_domains_unittest.cc", ] if (is_ios) { # TODO(crbug.com/1478669): BrowsingTopicsServiceImplTest are failing on iOS # port. sources -= [ "browsing_topics_service_impl_unittest.cc" ] } if (build_with_tflite_lib) { sources += [ "annotator_impl_unittest.cc" ] } deps = [ ":browsing_topics", ":test_support", "//base", "//base/test:test_support", "//components/content_settings/browser:browser", "//components/content_settings/browser:test_support", "//components/content_settings/core/test:test_support", "//components/history/content/browser:browser", "//components/history/core/browser:browser", "//components/history/core/test", "//components/optimization_guide/core:core", "//components/optimization_guide/core:features", "//components/optimization_guide/core:test_support", "//components/optimization_guide/proto:optimization_guide_proto", "//components/prefs:test_support", "//components/privacy_sandbox:privacy_sandbox", "//components/privacy_sandbox:privacy_sandbox_prefs", "//components/privacy_sandbox:test_support", "//components/privacy_sandbox:tracking_protection_settings", "//components/privacy_sandbox/privacy_sandbox_attestations", "//components/privacy_sandbox/privacy_sandbox_attestations:test_support", "//components/sync_preferences:test_support", "//components/ukm:test_support", "//content/test:test_support", "//testing/gtest", "//third_party/blink/public/common", "//third_party/zlib/google:compression_utils", ] } fuzzer_test("browsing_topics_annotator_fuzzer") { sources = [ "annotator_fuzzer.cc" ] deps = [ ":browsing_topics", "//base:base", "//base/test:test_support", "//components/optimization_guide/core:core", "//components/optimization_guide/core:features", "//components/optimization_guide/core:test_support", "//components/optimization_guide/proto:optimization_guide_proto", ] }