blob: bdc33e12fe7114cbc4fa4e615b2115d610f7f6a7 [file] [log] [blame] [edit]
# 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("//build/config/android/rules.gni")
import("//extensions/buildflags/buildflags.gni")
import("//third_party/jni_zero/jni_zero.gni")
android_library("java") {
sources = [
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
]
public_deps = [ "//components/cached_flags:java" ]
deps = [
"//base:base_java",
"//base/version_info/android:version_constants_java",
"//build:android_buildflags",
"//build:chromeos_buildflags",
"//build/android:build_java",
"//chrome/browser/preferences:java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:guava_android_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
srcjar_deps = [
":chrome_android_java_switches_srcjar",
":chrome_browser_flags_enums_srcjar",
":jni_headers",
]
}
generate_jni("jni_headers") {
sources = [
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
]
}
static_library("flags_android") {
sources = [
"android/chrome_feature_list.h",
"android/chrome_session_state.cc",
"android/chrome_session_state.h",
]
deps = [
":jni_headers",
"//base",
"//chrome/browser:browser_process",
"//components/prefs",
"//content/public/browser",
"//content/public/common",
"//extensions/buildflags",
]
}
static_library("flags_android_impl") {
sources = [ "android/chrome_feature_list.cc" ]
deps = [
":chrome_browser_flags_enums_srcjar",
":flags_android",
":jni_headers",
"//base",
"//build:android_buildflags",
"//chrome/browser/android/webapk:webapk_sources",
"//chrome/browser/contextmenu",
"//chrome/browser/notifications/chime/android",
"//chrome/browser/task_manager/common",
"//chrome/browser/ui:ui_features",
"//chrome/common:chrome_features",
"//components/android_autofill/browser:features",
"//components/autofill/core/common:features",
"//components/browser_sync:switches",
"//components/browser_ui/accessibility/android",
"//components/browser_ui/photo_picker/android",
"//components/browsing_data/core",
"//components/collaboration/public:features",
"//components/commerce/core:feature_list",
"//components/content_capture/common",
"//components/content_settings/core/common:features",
"//components/credential_management/android:features",
"//components/data_sharing/public:features",
"//components/download/public/common:public",
"//components/embedder_support/android:util",
"//components/enterprise/data_controls/core/browser:features",
"//components/facilitated_payments/core/features",
"//components/feature_engagement/public:feature_constants",
"//components/feed:feature_list",
"//components/history/core/browser:features",
"//components/history_clusters/core",
"//components/language/core/common",
"//components/ntp_tiles",
"//components/offline_pages/core:switches",
"//components/omnibox/common",
"//components/optimization_guide/core:features",
"//components/page_info/core",
"//components/paint_preview/features",
"//components/password_manager/core/browser/features:password_features",
"//components/password_manager/core/common:features",
"//components/permissions:permissions_common",
"//components/plus_addresses/core/common:features",
"//components/policy/core/common",
"//components/privacy_sandbox:features",
"//components/push_messaging",
"//components/regional_capabilities",
"//components/safe_browsing/core/common:features",
"//components/safety_check:features",
"//components/saved_tab_groups/public:features",
"//components/segmentation_platform/public",
"//components/send_tab_to_self",
"//components/sensitive_content:features",
"//components/shared_highlighting/core/common",
"//components/signin/public/base",
"//components/subresource_filter/core/browser",
"//components/supervised_user/core/common:features",
"//components/sync/base:features",
"//components/sync_sessions",
"//components/touch_to_search/core/browser",
"//components/variations/net:omnibox_autofocus_http_headers",
"//components/visited_url_ranking/public",
"//components/viz/common",
"//components/webapps/browser",
"//content/public/common",
"//extensions/buildflags",
"//media",
"//services/device/public/cpp:device_features",
"//services/network/public/cpp:flags_and_switches",
"//third_party/blink/public/common:headers",
"//ui/base:features",
]
if (enable_extensions_core) {
deps += [ "//extensions/common:extension_features" ]
}
}
java_cpp_strings("chrome_android_java_switches_srcjar") {
sources = [ "//chrome/common/chrome_switches.cc" ]
template = "android/java_templates/ChromeSwitches.java.tmpl"
}
java_cpp_enum("chrome_browser_flags_enums_srcjar") {
sources = [ "android/chrome_session_state.h" ]
}
robolectric_library("flags_junit_tests") {
sources = [
"android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlagsAnnotationUnitTest.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListUnitTest.java",
]
deps = [
":java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//base/test:test_support_java",
"//chrome/browser/preferences:java",
"//chrome/test/android:chrome_java_unit_test_support",
"//third_party/android_deps:guava_android_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
]
}
android_library("javatests") {
testonly = true
sources = [
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListInstrumentationTest.java",
"android/java/src/org/chromium/chrome/browser/flags/FieldTrialsInstrumentationTest.java",
]
deps = [
":java",
"//base:base_java",
"//base:base_java_test_support",
"//base/test:test_support_java",
"//chrome/android:chrome_java",
"//chrome/test/android:chrome_java_integration_test_support",
"//chrome/test/android:chrome_java_transit",
"//third_party/android_sdk:android_test_mock_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
]
}