blob: 1d3c5afa1e0cbd9d80f79e3530e9015e51450d8a [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("//ios/build/config.gni")
import("//ios/features.gni")
import("//ios/web/public/js_messaging/optimize_ts.gni")
source_set("safe_browsing") {
sources = [
"chrome_password_protection_service.h",
"chrome_password_protection_service.mm",
"chrome_password_protection_service_factory.h",
"chrome_password_protection_service_factory.mm",
"input_event_observer.h",
"password_protection_java_script_feature.h",
"password_protection_java_script_feature.mm",
"real_time_url_lookup_service_factory.h",
"real_time_url_lookup_service_factory.mm",
"safe_browsing_blocking_page.h",
"safe_browsing_blocking_page.mm",
"safe_browsing_client_factory.h",
"safe_browsing_client_factory.mm",
"safe_browsing_client_impl.h",
"safe_browsing_client_impl.mm",
"safe_browsing_metrics_collector_factory.h",
"safe_browsing_metrics_collector_factory.mm",
"user_population_helper.h",
"user_population_helper.mm",
"verdict_cache_manager_factory.h",
"verdict_cache_manager_factory.mm",
]
deps = [
":password_protection_ts",
"//base",
"//build:branding_buildflags",
"//components/keyed_service/core",
"//components/keyed_service/ios",
"//components/omnibox/common",
"//components/password_manager/core/browser",
"//components/prefs",
"//components/safe_browsing/core/browser",
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/browser:verdict_cache_manager",
"//components/safe_browsing/core/browser/db:v4_protocol_manager_util",
"//components/safe_browsing/core/browser/password_protection:password_protection_metrics_util",
"//components/safe_browsing/core/browser/realtime:url_lookup_service",
"//components/safe_browsing/core/browser/sync",
"//components/safe_browsing/core/common",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/safe_browsing/core/common/proto:csd_proto",
"//components/safe_browsing/ios/browser:allow_list",
"//components/safe_browsing/ios/browser/password_protection",
"//components/security_interstitials/core",
"//components/security_interstitials/core:unsafe_resource",
"//components/strings",
"//components/sync_user_events",
"//components/variations/service",
"//ios/chrome/browser/application_context",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/content_settings",
"//ios/chrome/browser/history",
"//ios/chrome/browser/net",
"//ios/chrome/browser/passwords:store_factory",
"//ios/chrome/browser/policy",
"//ios/chrome/browser/prerender",
"//ios/chrome/browser/safe_browsing/tailored_security",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync",
"//ios/components/security_interstitials",
"//ios/components/security_interstitials/safe_browsing",
"//ios/components/security_interstitials/safe_browsing:util",
"//ios/web/common:user_agent",
"//ios/web/public",
"//ios/web/public/init",
"//ios/web/public/js_messaging",
"//net",
"//ui/base",
]
configs += [ "//build/config/compiler:enable_arc" ]
}
optimize_ts("password_protection_ts") {
visibility = [ ":safe_browsing" ]
sources = [ "resources/password_protection.ts" ]
deps = [ "//ios/web/public/js_messaging:util_scripts" ]
}
source_set("features") {
sources = [
"features.h",
"features.mm",
]
deps = [
"//base",
"//components/password_manager/core/common:features",
]
configs += [ "//build/config/compiler:enable_arc" ]
}
source_set("eg2_tests") {
configs += [
"//build/config/compiler:enable_arc",
"//build/config/ios:xctest_config",
]
testonly = true
sources = [
"password_protection_egtest.mm",
"safe_browsing_egtest.mm",
]
deps = [
"//base",
"//components/password_manager/core/common:features",
"//components/safe_browsing/core/common",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/strings",
"//ios/chrome/browser/passwords:eg_test_support+eg2",
"//ios/chrome/browser/ui/bookmarks:eg_test_support+eg2",
"//ios/chrome/browser/ui/passwords:constants",
"//ios/chrome/browser/ui/settings/privacy:privacy_constants",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/testing/earl_grey:eg_test_support+eg2",
"//ios/third_party/earl_grey2:test_lib",
"//ios/web/common:features",
"//ios/web/public/test:element_selector",
"//ios/web/public/test/http_server",
"//net:test_support",
"//ui/base",
]
frameworks = [ "UIKit.framework" ]
}
source_set("unit_tests") {
testonly = true
sources = [
"chrome_password_protection_service_unittest.mm",
"real_time_url_lookup_service_factory_unittest.mm",
"safe_browsing_blocking_page_unittest.mm",
"safe_browsing_client_factory_unittest.mm",
"safe_browsing_client_impl_unittest.mm",
"verdict_cache_manager_factory_unittest.mm",
]
deps = [
":safe_browsing",
"//base",
"//base/test:test_support",
"//components/keyed_service/core",
"//components/password_manager/core/browser",
"//components/password_manager/core/browser:test_support",
"//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/password_protection:password_protection_metrics_util",
"//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",
"//components/security_interstitials/core:unsafe_resource",
"//components/signin/public/identity_manager",
"//components/signin/public/identity_manager:test_support",
"//components/strings",
"//components/sync_user_events:test_support",
"//components/unified_consent",
"//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/history",
"//ios/chrome/browser/passwords",
"//ios/chrome/browser/prerender",
"//ios/chrome/browser/prerender:test_support",
"//ios/chrome/browser/sync",
"//ios/chrome/test:test_support",
"//ios/components/security_interstitials/safe_browsing",
"//ios/components/security_interstitials/safe_browsing:test_support",
"//ios/web/public",
"//ios/web/public/test",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/base",
"//url",
]
configs += [ "//build/config/compiler:enable_arc" ]
}