# 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("//ios/build/config.gni") source_set("safe_browsing") { sources = [ "pending_unsafe_resource_storage.h", "pending_unsafe_resource_storage.mm", "safe_browsing_client.h", "safe_browsing_error.h", "safe_browsing_error.mm", "safe_browsing_helper.cc", "safe_browsing_helper.h", "safe_browsing_query_manager.h", "safe_browsing_query_manager.mm", "safe_browsing_service.h", "safe_browsing_service_impl.h", "safe_browsing_service_impl.mm", "safe_browsing_tab_helper.h", "safe_browsing_tab_helper.mm", "safe_browsing_tab_helper_delegate.h", "safe_browsing_unsafe_resource_container.h", "safe_browsing_unsafe_resource_container.mm", "url_checker_delegate_impl.h", "url_checker_delegate_impl.mm", ] deps = [ "//base", "//build:branding_buildflags", "//components/keyed_service/core", "//components/prefs", "//components/safe_browsing/core/browser", "//components/safe_browsing/core/browser:safe_browsing_metrics_collector", "//components/safe_browsing/core/browser/db:database_manager", "//components/safe_browsing/core/browser/db:sb_local_database_manager", "//components/safe_browsing/core/browser/db:v4_protocol_manager_util", "//components/safe_browsing/core/browser/db:v5_get_hash_protocol_manager", "//components/safe_browsing/core/browser/realtime:url_lookup_service_base", "//components/safe_browsing/core/browser/utils:url_loader_factory_params", "//components/safe_browsing/core/common", "//components/safe_browsing/ios/browser:allow_list", "//components/safe_browsing/ios/browser/password_protection", "//components/security_interstitials/core:unsafe_resource", "//components/sessions:session_id", "//ios/components/cookie_util", "//ios/components/security_interstitials/safe_browsing:util", "//ios/net", "//ios/web/common:user_agent", "//ios/web/public", "//services/network:network_service", ] } source_set("util") { sources = [ "ios_unsafe_resource_util.h", "ios_unsafe_resource_util.mm", ] deps = [ "//base", "//components/safe_browsing/core/browser/db:v4_protocol_manager_util", "//components/safe_browsing/ios/browser:allow_list", "//components/security_interstitials/core", "//components/security_interstitials/core:unsafe_resource", "//ios/web/public", ] } source_set("test_support") { testonly = true sources = [ "fake_safe_browsing_client.h", "fake_safe_browsing_client.mm", "fake_safe_browsing_service.h", "fake_safe_browsing_service.mm", ] deps = [ ":safe_browsing", "//components/safe_browsing/core/browser", "//components/safe_browsing/core/browser/db:test_database_manager", "//components/safe_browsing/core/common", "//components/safe_browsing/ios/browser:allow_list", "//ios/web/public", "//services/network:test_support", "//services/network/public/cpp", "//services/network/public/mojom", ] # 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" ] } source_set("unit_tests") { testonly = true sources = [ "pending_unsafe_resource_storage_unittest.mm", "safe_browsing_query_manager_unittest.mm", "safe_browsing_service_unittest.mm", "safe_browsing_tab_helper_unittest.mm", "safe_browsing_unsafe_resource_container_unittest.mm", "url_checker_delegate_impl_unittest.mm", ] deps = [ ":safe_browsing", ":test_support", "//base", "//base/test:test_support", "//components/content_settings/core/browser", "//components/prefs:test_support", "//components/safe_browsing/core/browser", "//components/safe_browsing/core/browser:token_fetcher", "//components/safe_browsing/core/browser:verdict_cache_manager", "//components/safe_browsing/core/browser/db:database_manager", "//components/safe_browsing/core/browser/db:sb_database", "//components/safe_browsing/core/browser/db:util", "//components/safe_browsing/core/browser/db:v4_get_hash_protocol_manager", "//components/safe_browsing/core/browser/db:v4_protocol_manager_util", "//components/safe_browsing/core/browser/db:v4_test_util", "//components/safe_browsing/core/browser/db:v5_get_hash_protocol_manager", "//components/safe_browsing/core/browser/db:v5_search_hashes_cache", "//components/safe_browsing/core/browser/hashprefix_realtime:hash_realtime_service", "//components/safe_browsing/core/browser/realtime:url_lookup_service", "//components/safe_browsing/core/common", "//components/safe_browsing/core/common:safe_browsing_prefs", "//components/safe_browsing/core/common/proto:realtimeapi_proto", "//components/safe_browsing/ios/browser:allow_list", "//components/security_interstitials/core:unsafe_resource", "//components/sync_preferences", "//components/sync_preferences:test_support", "//components/unified_consent", "//ios/web/public", "//ios/web/public/test", "//net:test_support", "//net/traffic_annotation:test_support", "//testing/gmock", "//testing/gtest", ] }