blob: 59e71b3a37e3029131d6cf6ee93622ccce5ec448 [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("//extensions/buildflags/buildflags.gni")
import("//third_party/jni_zero/jni_zero.gni")
import("//tools/grit/grit_rule.gni")
source_set("supervised_user") {
sources = []
public_deps = []
if (enable_extensions_core) {
sources += [ "supervised_user_extensions_metrics_recorder.h" ]
public_deps += [ "//extensions/browser" ]
}
}
static_library("test_support") {
testonly = true
sources = [
"supervised_user_test_util.cc",
"supervised_user_test_util.h",
]
public_deps = [ "//chrome/browser/signin" ]
deps = [
"//chrome/browser",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/profiles:profile",
"//chrome/browser/sync",
"//chrome/common:constants",
"//components/content_settings/core/browser",
"//components/prefs",
"//components/signin/public/identity_manager",
"//components/signin/public/identity_manager:test_support",
"//components/supervised_user/core/browser",
"//components/supervised_user/core/browser:test_support",
"//components/supervised_user/core/common",
"//components/supervised_user/test_support",
"//testing/gmock",
"//testing/gtest",
]
if (is_android) {
sources += [
"android/supervised_user_service_test_bridge.cc",
"android/supervised_user_settings_test_bridge.cc",
]
deps += [
":test_support_jni_headers",
"//components/safe_search_api:test_support",
"//components/signin/public/identity_manager:test_support",
"//components/supervised_user/core/browser/android:content_filters_observer_bridge",
"//services/network:test_support",
]
}
}
if (is_android) {
android_resources("java_resources") {
sources = [
"android/java/res/drawable/ic_family_link.xml",
"android/java/res/layout/website_approval_bottom_sheet.xml",
"android/java/res/values/dimens.xml",
]
}
android_library("parent_auth_delegate_java") {
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegate.java" ]
deps = [
"//base:base_java",
"//ui/android:ui_no_recycler_view_java",
"//url:gurl_java",
]
}
android_library("supervised_user_metrics_java") {
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApprovalMetrics.java" ]
deps = [
"//base:base_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
}
java_cpp_enum("local_web_approval_outcome_java_enum_srcjar") {
sources =
[ "//chrome/browser/supervised_user/android/website_parent_approval.h" ]
}
android_library("website_parent_approval_java") {
deps = [
":java_resources",
":parent_auth_delegate_java",
":supervised_user_metrics_java",
"//base:base_java",
"//base:service_loader_java",
"//build/android:build_java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/signin/services/android:java",
"//chrome/browser/ui/android/strings:ui_strings_grd",
"//components/browser_ui/bottomsheet/android:java",
"//components/browser_ui/widget/android:java",
"//components/signin/public/android:java",
"//components/url_formatter/android:url_formatter_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_appcompat_appcompat_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_java",
"//ui/android:ui_no_recycler_view_java",
"//url:gurl_java",
]
srcjar_deps = [
":local_web_approval_outcome_java_enum_srcjar",
":website_parent_approval_jni_headers",
]
sources = [
"android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegateProvider.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApproval.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalCoordinator.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalMediator.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalProperties.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalSheetContent.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalViewBinder.java",
]
resources_package = "org.chromium.chrome.browser.supervised_user"
}
generate_jni("website_parent_approval_jni_headers") {
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApproval.java" ]
}
android_library("supervised_user_service_platform_delegate_java") {
deps = [
"//base:base_java",
"//chrome/browser/tabmodel:java",
"//third_party/jni_zero:jni_zero_java",
]
srcjar_deps = [ ":supervised_user_service_platform_delegate_jni_headers" ]
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServicePlatformDelegate.java" ]
resources_package = "org.chromium.chrome.browser.supervised_user"
}
generate_jni("supervised_user_service_platform_delegate_jni_headers") {
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServicePlatformDelegate.java" ]
}
generate_jni("supervised_user_service_bridge_jni_headers") {
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServiceBridge.java" ]
}
android_library("supervised_user_service_bridge_java") {
srcjar_deps = [ ":supervised_user_service_bridge_jni_headers" ]
sources = [ "android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServiceBridge.java" ]
deps = [
"//base:base_java",
"//build/android:build_java",
"//chrome/browser/profiles/android:java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
generate_jni("test_support_jni_headers") {
testonly = true
sources = [
"android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServiceTestBridge.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserSettingsTestBridge.java",
]
}
android_library("test_support_java") {
testonly = true
srcjar_deps = [ ":test_support_jni_headers" ]
sources = [
"android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserServiceTestBridge.java",
"android/java/src/org/chromium/chrome/browser/supervised_user/SupervisedUserSettingsTestBridge.java",
]
deps = [
":test_support_jni_headers",
"//build/android:build_java",
"//chrome/android:chrome_java",
"//chrome/browser/profiles/android:java",
"//components/browser_ui/bottomsheet/android/test:java",
"//content/public/test/android:content_java_test_support",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("javatests") {
testonly = true
resources_package = "org.chromium.chrome.browser.supervised_user"
sources = [
"android/javatests/src/org/chromium/chrome/browser/supervised_user/IncognitoInteractionTest.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/SupervisedUserCriticalJourneysIntegrationTest.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/SupervisedUserSettingsTestUtils.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApprovalNativesTest.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApprovalTest.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApprovalTestUtils.java",
"android/javatests/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalSheetContentTest.java",
]
deps = [
":java_resources",
":test_support_java",
"//base:base_java",
"//base:base_java_test_support",
"//chrome/android:chrome_java",
"//chrome/browser/flags:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/signin/services/android:java",
"//chrome/browser/supervised_user:parent_auth_delegate_java",
"//chrome/browser/supervised_user:supervised_user_metrics_java",
"//chrome/browser/supervised_user:website_parent_approval_java",
"//chrome/browser/tab:java",
"//chrome/browser/ui/android/appmenu:java",
"//chrome/browser/ui/android/appmenu/test:test_support_java",
"//chrome/test/android:chrome_java_integration_test_support",
"//chrome/test/android:chrome_java_transit",
"//chrome/test/android:pagecontroller_utils_java",
"//components/browser_ui/bottomsheet/android:java",
"//components/browser_ui/bottomsheet/android:manager_java",
"//components/browser_ui/bottomsheet/android/test:java",
"//components/policy/android:policy_java_test_support",
"//components/signin/public/android:java",
"//components/signin/public/android:signin_java_test_support",
"//content/public/android:content_java",
"//content/public/test/android:content_java_test_support",
"//net/android:net_java_test_support",
"//third_party/android_deps:espresso_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/jni_zero:jni_zero_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
"//ui/android:ui_java_test_support",
"//ui/android:ui_no_recycler_view_java",
"//url:gurl_java",
]
}
robolectric_library("junit") {
testonly = true
resources_package = "org.chromium.chrome.browser.supervised_user"
sources = [ "android/javatests/src/org/chromium/chrome/browser/supervised_user/WebsiteParentApprovalMetricsTest.java" ]
deps = [
":java_resources",
":supervised_user_metrics_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//chrome/android:chrome_java",
"//third_party/android_deps:robolectric_all_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/junit",
]
}
if (is_android) {
source_set("android_browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"supervised_user_navigation_observer_android_browsertest.cc",
"supervised_user_service_android_browsertest.cc",
]
deps = [
"//base",
"//chrome/browser/profiles:profile",
"//chrome/browser/sync",
"//chrome/test:test_support",
"//components/messages/android/test:test_support_cpp",
"//components/safe_search_api:test_support",
"//components/supervised_user/core/browser:test_support",
"//components/supervised_user/core/browser/android:content_filters_observer_bridge",
"//components/url_matcher",
"//content/test:test_support",
"//net:test_support",
"//net/android:net_java_test_support_enums_srcjar",
]
# 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" ]
}
}
}