| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//chrome/common/features.gni") |
| import("//components/enterprise/buildflags/buildflags.gni") |
| import("//components/safe_browsing/buildflags.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| |
| assert(enterprise_data_controls) |
| |
| source_set("data_controls") { |
| sources = [ |
| "chrome_dlp_rules_manager.cc", |
| "chrome_dlp_rules_manager.h", |
| "chrome_rules_service.cc", |
| "chrome_rules_service.h", |
| "data_controls_dialog_factory.cc", |
| "data_controls_dialog_factory.h", |
| ] |
| |
| public_deps = [ |
| "//components/enterprise/data_controls/content/browser", |
| "//components/enterprise/data_controls/core/browser", |
| "//components/enterprise/data_controls/core/browser:features", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chrome/app:generated_resources", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/safe_browsing", |
| "//components/enterprise/common/proto:dlp_policy_event_proto", |
| "//components/enterprise/connectors/core:constants", |
| "//components/enterprise/content", |
| "//components/keyed_service/core", |
| "//components/policy/core/browser", |
| "//components/prefs", |
| "//components/strings:components_strings_grit", |
| "//components/url_matcher", |
| "//content/public/browser", |
| "//third_party/abseil-cpp:absl", |
| "//url", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "android_data_controls_dialog.cc", |
| "android_data_controls_dialog.h", |
| "android_data_controls_dialog_factory.cc", |
| "android_data_controls_dialog_factory.h", |
| ] |
| deps += [ "//ui/android" ] |
| } |
| |
| if (!is_android) { |
| sources += [ |
| "desktop_data_controls_dialog.cc", |
| "desktop_data_controls_dialog.h", |
| "desktop_data_controls_dialog_factory.cc", |
| "desktop_data_controls_dialog_factory.h", |
| "dlp_reporting_manager.cc", |
| "dlp_reporting_manager.h", |
| ] |
| if (safe_browsing_mode != 0) { |
| sources += [ |
| # TODO(crbug.com/435459809): Uncomment these lines to compile these |
| # files in the proper long-term target. |
| # "reporting_service.cc", |
| # "reporting_service.h", |
| ] |
| } |
| deps += [ |
| "//components/constrained_window", |
| "//components/guest_view/browser", |
| "//components/reporting/client:report_queue", |
| "//components/reporting/client:report_queue_configuration", |
| "//components/reporting/client:report_queue_factory", |
| "//components/reporting/proto:record_constants", |
| "//components/reporting/util:status", |
| "//ui/views", |
| ] |
| } |
| if (enable_glic) { |
| deps += [ "//chrome/browser/glic" ] |
| } |
| if (enable_extensions) { |
| deps += [ "//chrome/browser/extensions" ] |
| } |
| |
| allow_circular_includes_from = [] |
| |
| if (is_chromeos) { |
| deps += [ |
| "//chrome/browser/ash/policy/dlp", |
| "//components/user_manager", |
| |
| # Included for allow_circular_includes_from. |
| "//chrome/browser/chromeos/policy/dlp", |
| ] |
| allow_circular_includes_from += [ |
| "//chrome/browser/ash/policy/dlp", |
| "//chrome/browser/chromeos/policy/dlp", |
| ] |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| public_deps = [ |
| ":data_controls", |
| "//base", |
| "//base/test:test_support", |
| "//components/account_id", |
| "//components/enterprise/common/proto:dlp_policy_event_proto", |
| "//components/enterprise/data_controls/core/browser:test_support", |
| "//components/prefs", |
| "//content/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/abseil-cpp:absl", |
| ] |
| if (is_chromeos) { |
| public_deps += [ "//components/user_manager" ] |
| } |
| if (!is_android) { |
| sources = [ |
| "desktop_data_controls_dialog_test_helper.cc", |
| "desktop_data_controls_dialog_test_helper.h", |
| "dlp_reporting_manager_test_helper.cc", |
| "dlp_reporting_manager_test_helper.h", |
| ] |
| public_deps += [ |
| "//chrome/test:test_support", |
| "//components/reporting/client:test_support", |
| "//components/reporting/util:status", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| sources = [ "chrome_rules_service_unittest.cc" ] |
| deps = [ |
| ":data_controls", |
| ":test_support", |
| "//chrome/browser/profiles:profile", |
| "//chrome/test:test_support", |
| "//components/enterprise/data_controls/core/browser:unit_tests", |
| ] |
| if (!is_android) { |
| sources += [ "reporting_unittest.cc" ] |
| deps += [ "//chrome/browser/enterprise/connectors/test:test_support" ] |
| } |
| |
| # 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" ] |
| } |