blob: a857a50d526a20ca492d0d793373d6ffcea247b1 [file] [log] [blame]
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//extensions/buildflags/buildflags.gni")
assert(is_win || is_mac || is_linux || is_chromeos || is_android)
source_set("safety_hub") {
sources = [
"abusive_notification_permissions_manager.h",
"disruptive_notification_permissions_manager.h",
"menu_notification.h",
"menu_notification_service.h",
"menu_notification_service_factory.h",
"notification_permission_review_result.h",
"notification_permission_review_service.h",
"notification_permission_review_service_factory.h",
"revoked_permissions_os_notification_display_manager.h",
"revoked_permissions_os_notification_display_manager_factory.h",
"revoked_permissions_result.h",
"revoked_permissions_service.h",
"revoked_permissions_service_factory.h",
"safe_browsing_result.h",
"safety_hub_constants.h",
"safety_hub_prefs.h",
"safety_hub_result.h",
"safety_hub_service.h",
"safety_hub_util.h",
"unused_site_permissions_manager.h",
]
public_deps = [
"//base",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/profiles:profile",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/keyed_service/core",
"//components/safe_browsing/content/browser/notification_content_detection",
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/browser/db:database_manager",
"//components/safety_check:features",
"//components/site_engagement/content",
"//content/public/browser",
"//url",
]
deps = [ "//components/safety_check" ]
if (is_android) {
sources += [
"notification_wrapper_android.h",
"password_status_check_result_android.h",
]
public_deps += [ "//components/prefs" ]
} else {
sources += [
"extensions_result.h",
"password_status_check_result.h",
"password_status_check_service.h",
"password_status_check_service_factory.h",
"safety_hub_hats_service.h",
"safety_hub_hats_service_factory.h",
]
public_deps += [
"//chrome/browser/ui/hats",
"//components/password_manager/core/browser/leak_detection:leak_detection_interface_headers",
"//components/password_manager/core/browser/password_store:password_store_interface",
"//components/password_manager/core/browser/ui",
"//extensions/browser",
]
}
}
source_set("impl") {
public_deps = [ "//chrome/browser:browser_public_dependencies" ]
sources = [
"abusive_notification_permissions_manager.cc",
"disruptive_notification_permissions_manager.cc",
"menu_notification.cc",
"menu_notification_service.cc",
"menu_notification_service_factory.cc",
"notification_permission_review_result.cc",
"notification_permission_review_service.cc",
"notification_permission_review_service_factory.cc",
"revoked_permissions_os_notification_display_manager.cc",
"revoked_permissions_os_notification_display_manager_factory.cc",
"revoked_permissions_result.cc",
"revoked_permissions_service.cc",
"revoked_permissions_service_factory.cc",
"safe_browsing_result.cc",
"safety_hub_constants.cc",
"safety_hub_prefs.cc",
"safety_hub_result.cc",
"safety_hub_service.cc",
"safety_hub_util.cc",
"unused_site_permissions_manager.cc",
]
deps = [
":safety_hub",
"//chrome/app:command_ids",
"//chrome/browser:browser_process",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/engagement",
"//chrome/browser/permissions",
"//chrome/browser/profiles:profile",
"//chrome/browser/safe_browsing",
"//chrome/browser/ui",
"//chrome/browser/ui/hats",
"//components/content_settings/core/browser",
"//components/permissions",
"//components/permissions:permissions_common",
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/browser/db:v4_protocol_manager_util",
"//components/safe_browsing/core/common:features",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/safety_check",
"//components/site_engagement/content",
"//services/metrics/public/cpp:ukm_builders",
]
if (is_android) {
sources += [
"notification_wrapper_android.cc",
"password_status_check_result_android.cc",
]
deps += [ "//chrome/browser/safety_hub/android:jni_headers" ]
} else {
sources += [
"extensions_result.cc",
"password_status_check_result.cc",
"password_status_check_service.cc",
"password_status_check_service_factory.cc",
"safety_hub_hats_service.cc",
"safety_hub_hats_service_factory.cc",
]
deps += [
"//chrome/browser/affiliations",
"//chrome/browser/extensions",
"//chrome/browser/password_manager/factories",
"//chrome/browser/signin",
"//chrome/browser/ui/webui/settings",
"//components/password_manager/core/browser:password_form",
"//components/password_manager/core/browser/leak_detection",
"//components/password_manager/core/browser/ui",
"//extensions/browser",
]
}
}
source_set("test_support") {
testonly = true
sources = [
"safety_hub_test_util.cc",
"safety_hub_test_util.h",
]
public_deps = [
":safety_hub",
"//chrome/browser/profiles:profile",
"//chrome/test:test_support",
"//components/password_manager/core/browser/leak_detection:leak_detection_interface_headers",
"//testing/gmock",
]
deps = [
"//base",
"//base/test:test_support",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/password_manager/factories",
"//chrome/browser/permissions",
"//components/content_settings/core/common",
"//components/sync_preferences:test_support",
"//services/network:test_support",
]
if (enable_extensions_core) {
public_deps += [
"//chrome/browser/extensions",
"//extensions/common",
]
deps += [
"//chrome/browser/extensions:test_support",
"//extensions:test_support",
]
}
if (!is_android) {
sources += [
"mock_safe_browsing_database_manager.cc",
"mock_safe_browsing_database_manager.h",
]
public_deps += [
"//components/safe_browsing/core/browser/db:database_manager",
"//components/safe_browsing/core/browser/db:test_database_manager",
]
}
}
if (!is_android) {
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [ "revoked_permissions_service_browsertest.cc" ]
deps = [
":safety_hub",
":test_support",
"//base",
"//base/test:test_support",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/engagement",
"//chrome/browser/permissions",
"//chrome/browser/profiles:profile",
"//chrome/browser/safe_browsing:test_support",
"//chrome/browser/ui",
"//chrome/test:test_support_ui",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/content_settings/core/common:features",
"//components/permissions:permissions_common",
"//components/safe_browsing/core/common:features",
"//content/test:test_support",
]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"abusive_notification_permissions_manager_unittest.cc",
"disruptive_notification_permissions_manager_unittest.cc",
"menu_notification_service_unittest.cc",
"menu_notification_unittest.cc",
"notification_permission_review_result_unittest.cc",
"password_status_check_result_unittest.cc",
"revoked_permissions_os_notification_display_manager_unittest.cc",
"revoked_permissions_result_unittest.cc",
"safe_browsing_result_unittest.cc",
"safety_hub_result_unittest.cc",
"safety_hub_service_unittest.cc",
"unused_site_permissions_manager_unittest.cc",
]
deps = [
":safety_hub",
":test_support",
"//base",
"//chrome/app:command_ids",
"//chrome/app:generated_resources",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/engagement",
"//chrome/browser/permissions",
"//chrome/browser/ui/hats",
"//chrome/browser/ui/safety_hub:test_support",
"//chrome/common:chrome_features",
"//chrome/common:constants",
"//chrome/test:test_support",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/content_settings/core/test:test_support",
"//components/data_sharing/public:features",
"//components/password_manager/core/browser/password_store:test_support",
"//components/permissions",
"//components/permissions:permissions_common",
"//components/prefs:test_support",
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/common:features",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/safety_check",
"//components/sync_preferences:test_support",
"//components/ukm:test_support",
"//content/test:test_support",
"//testing/gtest",
"//ui/base",
]
if (enable_extensions) {
deps += [ "//chrome/browser/extensions" ]
}
if (is_android) {
sources += [ "password_status_check_result_android_unittest.cc" ]
} else {
sources += [
"extensions_result_unittest.cc",
"notification_permission_review_service_unittest.cc",
"password_status_check_service_unittest.cc",
"revoked_permissions_service_unittest.cc",
"safety_hub_hats_service_unittest.cc",
]
deps += [
"//base/test:test_support",
"//chrome/app:branded_strings",
"//chrome/browser",
"//chrome/browser/history",
"//chrome/browser/prefs",
"//chrome/browser/profiles:profile",
"//chrome/browser/safe_browsing:test_support",
"//chrome/browser/ui",
"//chrome/browser/ui/hats:test_support",
"//components/content_settings/core/common:features",
"//components/crx_file",
"//components/history/core/browser",
"//components/history/core/test",
"//components/keyed_service/core",
"//components/password_manager/core/browser/leak_detection:leak_detection_interface_headers",
"//components/password_manager/core/common",
"//components/permissions:test_support",
"//components/prefs",
"//components/safe_browsing/core/browser/db:util",
"//components/signin/public/base",
"//components/signin/public/identity_manager:test_support",
"//components/site_engagement/content",
"//components/ukm/content",
"//content/public/browser",
"//extensions/browser",
"//extensions/common",
"//services/metrics/public/cpp:gen_ukm_builders",
"//services/metrics/public/cpp:ukm_builders",
"//services/network:test_support",
"//testing/gmock",
"//url",
]
}
# 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" ]
}