diff options
Diffstat (limited to 'chromium/chrome/android/BUILD.gn')
-rw-r--r-- | chromium/chrome/android/BUILD.gn | 523 |
1 files changed, 285 insertions, 238 deletions
diff --git a/chromium/chrome/android/BUILD.gn b/chromium/chrome/android/BUILD.gn index cb76914c7ca..f0c7c5c7f7e 100644 --- a/chromium/chrome/android/BUILD.gn +++ b/chromium/chrome/android/BUILD.gn @@ -8,6 +8,7 @@ import("//build/config/android/rules.gni") import("//build/config/python.gni") import("//build/util/process_version.gni") import("//build/util/version.gni") +import("//chrome/android/chrome_bundle_tmpl.gni") import("//chrome/android/chrome_common_shared_library.gni") import("//chrome/android/chrome_public_apk_tmpl.gni") import("//chrome/android/features/dev_ui/dev_ui_module.gni") @@ -27,6 +28,7 @@ import("//third_party/protobuf/proto_library.gni") import("//tools/resources/generate_resource_whitelist.gni") import("//tools/v8_context_snapshot/v8_context_snapshot.gni") import("//ui/android/features.gni") +import("//weblayer/variables.gni") import("channel.gni") import("java_sources.gni") import("static_initializers.gni") @@ -141,17 +143,6 @@ if (enable_feed_in_chrome) { } } -if (notouch_build) { - android_resources("chrome_touchless_java_resources") { - resource_dirs = [ "//chrome/android/touchless/java/res" ] - deps = [ - ":chrome_app_java_resources", - "//chrome/android/touchless:touchless_strings_grd", - ] - custom_package = "org.chromium.chrome.touchless" - } -} - android_resources("chrome_download_java_resources") { resource_dirs = [ "//chrome/android/java/res_download" ] deps = [ @@ -251,7 +242,7 @@ java_cpp_template("vr_build_config") { android_library("chrome_public_java") { java_files = [ "//chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewResizer.java" ] deps = [ - "//third_party/android_deps:com_android_support_support_annotations_java", + "//third_party/android_deps:androidx_annotation_annotation_java", ] } @@ -288,10 +279,10 @@ android_library("chrome_java") { "//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java", "//chrome/browser/android/thin_webview:factory_java", "//chrome/browser/android/thin_webview:java", + "//chrome/browser/image_fetcher:java", "//chrome/browser/ui/android/widget:java", - "//chrome/lib/image_fetcher/public/android:java", + "//chrome/browser/util/android:java", "//chrome/lib/lifecycle/public/android:java", - "//chrome/lib/util/public/android:java", "//components/autofill/android:autofill_java", "//components/autofill_assistant/browser:proto_java", "//components/background_task_scheduler:background_task_scheduler_java", @@ -362,6 +353,7 @@ android_library("chrome_java") { "//third_party/android_deps:android_arch_lifecycle_common_java8_java", "//third_party/android_deps:android_arch_lifecycle_runtime_java", "//third_party/android_deps:android_support_v7_appcompat_java", + "//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:com_android_support_collections_java", "//third_party/android_deps:com_android_support_coordinatorlayout_java", "//third_party/android_deps:com_android_support_customview_java", @@ -371,7 +363,6 @@ android_library("chrome_java") { "//third_party/android_deps:com_android_support_mediarouter_v7_java", "//third_party/android_deps:com_android_support_preference_v7_java", "//third_party/android_deps:com_android_support_recyclerview_v7_java", - "//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_deps:com_android_support_support_compat_java", "//third_party/android_deps:com_android_support_support_v13_java", "//third_party/android_deps:com_android_support_viewpager_java", @@ -401,13 +392,13 @@ android_library("chrome_java") { deps += feed_deps srcjar_deps = [ - ":browser_build_config", ":chrome_android_java_enums_srcjar", ":chrome_android_java_switches_srcjar", ":chrome_android_java_google_api_keys_srcjar", ":chrome_locale_config", ":photo_picker_aidl", ":resource_id_javagen", + ":sync_user_settings_enums_java", "//chrome:assist_ranker_prediction_enum_javagen", "//chrome:content_setting_javagen", "//chrome:content_settings_type_javagen", @@ -421,9 +412,7 @@ android_library("chrome_java") { "//chrome:payments_journey_logger_enum_javagen", "//chrome:pref_enum_javagen", "//chrome:quick_action_category_enum_javagen", - "//chrome:signin_metrics_enum_javagen", "//chrome/browser/notifications/scheduler/public:jni_enums", - "//chrome/browser:sharing_device_capability_generated_enum", "//chrome/browser:sharing_dialog_type_generated_enum", "//chrome/browser:sharing_send_message_result_generated_enum", "//chrome/browser/supervised_user/supervised_user_error_page:enums_srcjar", @@ -432,7 +421,6 @@ android_library("chrome_java") { "//components/browsing_data/core:browsing_data_utils_java", "//components/browsing_data/core:clear_browsing_data_tab_java", "//components/consent_auditor:consent_auditor_java", - "//components/contextual_search/core:enums_java", "//components/data_reduction_proxy/core/browser:data_reduction_proxy_savings_cleared_enum_java", "//components/favicon_base:favicon_base_enums_java", "//components/dom_distiller/core:distiller_type_java", @@ -475,9 +463,6 @@ android_library("chrome_java") { if (enable_feed_in_chrome) { deps += [ ":chrome_feed_java_resources" ] } - if (notouch_build) { - deps += [ ":chrome_touchless_java_resources" ] - } # Add the actual implementation where necessary so that downstream targets # can provide their own implementations. @@ -492,23 +477,6 @@ android_library("chrome_java") { "//components/module_installer/android:module_interface_processor", ] - proguard_configs = [] - if (async_ar) { - proguard_configs += [ "//chrome/android/features/ar/proguard_async.flags" ] - } - if (async_vr) { - proguard_configs += [ - "//chrome/android/features/vr/proguard_async.flags", - "//chrome/android/features/vr/proguard_async_manual.flags", - ] - } - if (async_tab_ui) { - proguard_configs += [ - "//chrome/android/features/tab_ui/proguard_async.flags", - "//chrome/android/features/tab_ui/proguard_async_manual.flags", - ] - } - processor_args_javac = [ "dagger.fastInit=enabled" ] } @@ -524,6 +492,8 @@ java_group("chrome_all_java") { "//chrome/android/features/keyboard_accessory:internal_java", "//chrome/android/features/media_router:java", "//chrome/android/features/test_dummy/internal:base_module_java", + "//chrome/android/modules/extra_icu/provider:java", + "//chrome/browser/touch_to_fill/android/internal:java", ] if (disable_autofill_assistant_dfm) { @@ -548,8 +518,9 @@ group("jni_headers") { "//chrome/android/features/keyboard_accessory:jni_headers", "//chrome/android/features/media_router:jni_headers", "//chrome/android/public/profiles:jni_headers", - "//chrome/lib/image_fetcher/public/android:jni_headers", - "//chrome/lib/util/public/android:jni_headers", + "//chrome/browser/image_fetcher:jni_headers", + "//chrome/browser/touch_to_fill/android:jni_headers", + "//chrome/browser/util/android:jni_headers", ] } @@ -576,7 +547,6 @@ java_cpp_enum("chrome_android_java_enums_srcjar") { sources = [ "//chrome/browser/android/customtabs/detached_resource_request.h", "//chrome/browser/android/digital_asset_links/digital_asset_links_handler.h", - "//chrome/browser/android/download/download_open_source.h", "//chrome/browser/android/explore_sites/explore_sites_bridge.h", "//chrome/browser/android/explore_sites/explore_sites_feature.h", "//chrome/browser/android/feedback/connectivity_checker.cc", @@ -587,6 +557,7 @@ java_cpp_enum("chrome_android_java_enums_srcjar") { "//chrome/browser/android/webapk/webapk_installer.h", "//chrome/browser/android/webapk/webapk_types.h", "//chrome/browser/banners/app_banner_settings_helper.h", + "//chrome/browser/download/android/download_open_source.h", "//chrome/browser/notifications/notification_channels_provider_android.h", "//chrome/browser/notifications/notification_handler.h", "//chrome/browser/notifications/notification_platform_bridge_android.cc", @@ -610,23 +581,17 @@ java_cpp_enum("chrome_vr_android_java_enums_srcjar") { ] } -java_cpp_strings("chrome_android_java_switches_srcjar") { +java_cpp_enum("sync_user_settings_enums_java") { sources = [ - "//chrome/common/chrome_switches.cc", + "//components/sync/driver/sync_user_settings.h", ] - template = "//chrome/android/java_templates/ChromeSwitches.java.tmpl" } -java_cpp_template("browser_build_config") { +java_cpp_strings("chrome_android_java_switches_srcjar") { sources = [ - "//chrome/android/java_templates/BuildConfig.template", + "//chrome/common/chrome_switches.cc", ] - package_path = "org/chromium/chrome/browser" - - defines = [] - if (!notouch_build) { - defines += [ "_ENABLE_OFFLINE_PAGES" ] - } + template = "//chrome/android/java_templates/ChromeSwitches.java.tmpl" } proto_java_library("partner_location_descriptor_proto_java") { @@ -706,6 +671,8 @@ junit_binary("chrome_junit_tests") { "//chrome/android/webapk/libs/client:client_java", "//chrome/android/webapk/libs/common:common_java", "//chrome/android/webapk/test:junit_test_support", + "//chrome/browser/image_fetcher:java", + "//chrome/browser/ui/android/widget:ui_widget_junit_tests", "//chrome/test/android:chrome_java_test_support", "//components/background_task_scheduler:background_task_scheduler_java", "//components/bookmarks/common/android:bookmarks_java", @@ -728,9 +695,9 @@ junit_binary("chrome_junit_tests") { "//services/media_session/public/cpp/android:media_session_java", "//third_party/android_deps:android_arch_lifecycle_common_java", "//third_party/android_deps:android_support_v7_appcompat_java", + "//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:com_android_support_mediarouter_v7_java", "//third_party/android_deps:com_android_support_recyclerview_v7_java", - "//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_sdk/androidx_browser:androidx_browser_java", "//third_party/blink/public:blink_headers_java", "//third_party/blink/public/mojom:android_mojo_bindings_java", @@ -740,8 +707,9 @@ junit_binary("chrome_junit_tests") { "//url/mojom:url_mojom_gurl_java", ] - srcjar_deps = - [ "//components/module_installer/android:module_installer_build_config" ] + data_deps = [ + "//testing/buildbot/filters:chrome_junit_tests_filters", + ] package_name = chrome_public_manifest_package } @@ -793,6 +761,7 @@ android_library("chrome_test_java") { deps = [ ":browser_java_test_support", + ":chrome_public_test_apk_resources", ":chrome_test_util_java", ":partner_location_descriptor_proto_java", "$google_play_services_package:google_play_services_base_java", @@ -817,7 +786,8 @@ android_library("chrome_test_java") { "//chrome/android/webapk/libs/common:common_java", "//chrome/browser/android/metrics:ukm_utils_java", "//chrome/browser/ui/android/widget:java", - "//chrome/lib/util/public/android:java", + "//chrome/browser/ui/android/widget:test_support_java", + "//chrome/browser/util/android:java", "//chrome/test/android:chrome_java_test_support", "//chrome/test/android/test_trusted_web_activity:test_trusted_web_activity_java", "//components/autofill/android:autofill_java", @@ -855,6 +825,7 @@ android_library("chrome_test_java") { "//components/signin/core/browser/android:java", "//components/signin/core/browser/android:signin_java_test_support", "//components/signin/core/browser/android:signin_javatests", + "//components/signin/public/identity_manager/android:java", "//components/sync:sync_java_test_support", "//components/sync/android:sync_java", "//components/sync/android:sync_javatests", @@ -877,11 +848,11 @@ android_library("chrome_test_java") { "//third_party/android_data_chart:android_data_chart_java", "//third_party/android_deps:android_arch_lifecycle_common_java", "//third_party/android_deps:android_support_v7_appcompat_java", + "//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:com_android_support_collections_java", "//third_party/android_deps:com_android_support_design_java", "//third_party/android_deps:com_android_support_preference_v7_java", "//third_party/android_deps:com_android_support_recyclerview_v7_java", - "//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_deps:com_google_protobuf_protobuf_lite_java", "//third_party/android_sdk:android_test_base_java", "//third_party/android_sdk:android_test_mock_java", @@ -914,6 +885,7 @@ android_library("chrome_test_java") { data = [ "//chrome/test/data/android/", "//chrome/test/data/autofill/", + "//chrome/test/data/background_sync/", "//chrome/test/data/banners/", "//chrome/test/data/browsing_data/", "//chrome/test/data/encoding_tests/auto_detect/Big5_with_no_encoding_specified.html", @@ -970,16 +942,16 @@ if (enable_vr || enable_arcore) { "//chrome/android:app_hooks_java", "//chrome/android:chrome_java", "//chrome/android/features/vr:java", + "//chrome/browser/util/android:java", "//chrome/test/android:chrome_java_test_support", - "//chrome/lib/util/public/android:java", "//components/policy/android:policy_java", "//content/public/android:content_java", "//content/public/test/android:content_java_test_support", "//net/android:net_java_test_support", "//third_party/android_deps:android_arch_lifecycle_common_java", "//third_party/android_deps:android_support_v7_appcompat_java", + "//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:com_android_support_recyclerview_v7_java", - "//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", "//third_party/android_sdk/androidx_browser:androidx_browser_java", @@ -1064,15 +1036,13 @@ if (enable_vr || enable_arcore) { "javatests/src/org/chromium/chrome/browser/vr/rules/VrModuleNotInstalled.java", ] - deps = - chrome_test_xr_java_deps + [ - "//chrome/android:chrome_test_xr_java", - "//third_party/gvr-android-sdk:controller_test_api_java", - "//third_party/gvr-android-sdk:gvr_common_java", - ":chrome_test_util_java", - "//components/module_installer/android:module_installer_java", - "//components/module_installer/android:module_installer_test_java", - ] + deps = chrome_test_xr_java_deps + [ + "//chrome/android:chrome_test_xr_java", + "//third_party/gvr-android-sdk:controller_test_api_java", + "//third_party/gvr-android-sdk:gvr_common_java", + ":chrome_test_util_java", + "//components/module_installer/android:module_installer_java", + ] data = [ "//chrome/android/shared_preference_files/test/", @@ -1105,6 +1075,14 @@ if (enable_vr || enable_arcore) { } } +android_resources("chrome_public_test_apk_resources") { + resource_dirs = [ "javatests/res" ] + deps = [ + ":chrome_app_java_resources", + ] + custom_package = "org.chromium.chrome.test" +} + # Overrides icon / name defined in chrome_app_java_resources. android_resources("chrome_public_apk_resources") { resource_dirs = [ "java/res_chromium" ] @@ -1170,7 +1148,6 @@ jinja_template_resources("chrome_test_apk_template_resources") { "java/res_template/xml/file_paths.xml", "java/res_template/xml/launchershortcuts.xml", "java/res_template/xml/searchable.xml", - "java/res_template/xml/syncadapter.xml", ] res_dir = "java/res_template" @@ -1196,7 +1173,6 @@ chrome_common_shared_library("libchrome") { deps += [ "//chrome/browser/android/vr:module_factory" ] } - allow_partitions = true module_descs = chrome_modern_module_descs } @@ -1212,6 +1188,7 @@ chrome_common_shared_library("libchromefortest") { "//base/test:test_support", "//chrome:chrome_android_core", "//chrome/browser/android/metrics:ukm_utils_for_test", + "//chrome/browser/subresource_filter:test_support", "//components/autofill_assistant/browser:test_support", "//components/crash/android:crash_android", "//components/heap_profiling:test_support", @@ -1224,6 +1201,10 @@ chrome_common_shared_library("libchromefortest") { if (enable_vr) { deps += [ "//chrome/browser/android/vr:test_support" ] } + + # TODO(http://crbug.com/1008123): Include module native code by enumerating + # module descriptors. + deps += [ "//chrome/android/modules/test_dummy/internal:native" ] } # Ensure that .pak files are built only once (build them in the default @@ -1376,11 +1357,17 @@ if (current_toolchain == default_toolchain) { additional_extra_paks += [ "$root_gen_dir/android_webview/aw_resources.pak" ] deps += [ "//android_webview:generate_aw_resources" ] + + if (webview_includes_weblayer) { + additional_extra_paks += + [ "$root_gen_dir/weblayer/weblayer_resources.pak" ] + deps += [ "//weblayer:resources" ] + } } if (!dfmify_dev_ui) { additional_extra_paks += - [ "$root_gen_dir/chrome/bluetooth_internals_resources.pak" ] - deps += [ "//chrome/browser/resources/bluetooth_internals:resources" ] + [ "$root_gen_dir/chrome/dev_ui_page_resources.pak" ] + deps += [ "//chrome/browser/resources:dev_ui_paks" ] } if (enable_resource_whitelist_generation) { @@ -1425,6 +1412,9 @@ if (current_toolchain == default_toolchain) { ] if (_is_monochrome) { deps += [ "//android_webview:locale_pak_assets" ] + if (webview_includes_weblayer) { + deps += [ "//weblayer:locale_pak_assets" ] + } } } } @@ -1452,15 +1442,20 @@ template("libmonochrome_apk_or_bundle_tmpl") { ] deps = [ "//android_webview:common", + "//components/about_ui:about_ui_android", "//components/crash/android:crashpad_main", ] + if (webview_includes_weblayer) { + defines = [ "WEBVIEW_INCLUDES_WEBLAYER" ] + deps += [ "//weblayer:weblayer_lib" ] + } + if (enable_vr) { deps += [ "//chrome/browser/android/vr:module_factory" ] } is_monochrome = true - allow_partitions = true module_descs = monochrome_module_descs } } @@ -1511,6 +1506,7 @@ java_group("chrome_public_base_module_java_for_test") { ":chrome_public_base_module_java", "//chrome/android/features/autofill_assistant:autofill_assistant_java_test_support", "//chrome/browser/android/metrics:ukm_utils_java", + "//chrome/browser/subresource_filter:subresource_filter_java_test_support", "//components/heap_profiling:heap_profiling_java_test_support", "//components/minidump_uploader:minidump_uploader_java", "//content/public/test/android:content_java_test_support", @@ -1527,10 +1523,12 @@ _chrome_public_shared_deps = [ ] generate_jni("test_support_jni_headers") { + testonly = true sources = [ "javatests/src/org/chromium/chrome/browser/ServicificationBackgroundService.java", "javatests/src/org/chromium/chrome/browser/offlinepages/OfflineTestUtil.java", "javatests/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchTestBridge.java", + "javatests/src/org/chromium/chrome/browser/prerender/PrerenderTestHelper.java", "javatests/src/org/chromium/chrome/browser/test/MockCertVerifierRuleAndroid.java", ] } @@ -1541,6 +1539,7 @@ android_library("browser_java_test_support") { java_files = [ "javatests/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchTestBridge.java", "javatests/src/org/chromium/chrome/browser/offlinepages/OfflineTestUtil.java", + "javatests/src/org/chromium/chrome/browser/prerender/PrerenderTestHelper.java", "javatests/src/org/chromium/chrome/browser/sync/FakeServerHelper.java", "javatests/src/org/chromium/chrome/browser/test/MockCertVerifierRuleAndroid.java", "javatests/src/org/chromium/chrome/browser/ServicificationBackgroundService.java", @@ -1568,6 +1567,7 @@ static_library("browser_test_support") { "../browser/android/ssl/mock_cert_verifier_rule_android.h", "../browser/offline_pages/android/offline_test_util_jni.cc", "../browser/offline_pages/android/prefetch_test_bridge.cc", + "../browser/prerender/prerender_test_helper.cc", ] deps = [ ":test_support_jni_headers", @@ -1697,7 +1697,8 @@ template("monochrome_public_apk_or_module_tmpl") { # of manually-instantiated manifests. jinja_template("${target_name}__android_manifest") { includes = [ "java/AndroidManifest.xml" ] - variables = chrome_public_jinja_variables + variables = + chrome_public_jinja_variables + [ "include_arcore_manifest_flag=true" ] if (_is_trichrome) { input = "java/AndroidManifest_trichrome_chrome.xml" variables += trichrome_jinja_variables @@ -1711,7 +1712,6 @@ template("monochrome_public_apk_or_module_tmpl") { variables += monochrome_android_manifest_jinja_variables + [ "target_sdk_version=$android_sdk_version", "webview_library=libmonochrome${_arch}.so", - "include_arcore_manifest_flag=true", ] } @@ -1765,14 +1765,16 @@ template("monochrome_public_apk_or_module_tmpl") { } } -monochrome_public_apk_or_module_tmpl("monochrome_public_apk") { - version_code = monochrome_version_code - version_name = chrome_version_name - apk_name = "MonochromePublic" - target_type = "android_apk" -} - +# Public webview targets don't work with non-public sdks. +# https://crbug.com/1000763 if (public_android_sdk) { + monochrome_public_apk_or_module_tmpl("monochrome_public_apk") { + version_code = monochrome_version_code + version_name = chrome_version_name + apk_name = "MonochromePublic" + target_type = "android_apk" + } + trichrome_library_apk_tmpl("trichrome_library_apk") { apk_name = "TrichromeLibrary" android_manifest = trichrome_library_android_manifest @@ -1998,11 +2000,17 @@ chrome_test_apk_tmpl("chrome_public_test_apk") { "//chrome/android/webapk/libs/runtime_library:runtime_library_javatests", "//chrome/android/webapk/shell_apk:shell_apk_javatests", "//chrome/browser/profiling_host:profiling_host_javatests", + "//chrome/browser/subresource_filter:subresource_filter_javatests", + "//chrome/browser/touch_to_fill/android:test_java", + "//chrome/browser/ui/android/widget:ui_widget_java_tests", ] + + data_deps = [ + "//testing/buildbot/filters:chrome_public_test_apk_filters", + ] + if (enable_chrome_android_internal) { - data_deps = [ - "//clank/build/bot/filters:chrome_public_test_apk_filters", - ] + data_deps += [ "//clank/build/bot/filters:chrome_public_test_apk_filters" ] } additional_apks = [ "//chrome/android/webapk/libs/runtime_library/javatests/apk_with_webapk_service:apk_with_webapk_service", @@ -2095,7 +2103,7 @@ android_test_apk("chrome_smoke_test_apk") { apk_name = "ChromeSmokeTest" android_manifest = "javatests/src/org/chromium/chrome/test/smoke/AndroidManifest.xml" - target_sdk_version = 28 + target_sdk_version = android_sdk_version testonly = true java_files = [ "javatests/src/org/chromium/chrome/test/smoke/ChromeSmokeTest.java" ] @@ -2110,16 +2118,33 @@ android_test_apk("chrome_smoke_test_apk") { } instrumentation_test_runner("chrome_public_smoke_test") { - apk_under_test = "//chrome/android:chrome_public_apk" + apk_under_test = ":chrome_public_apk" + android_test_apk = ":chrome_smoke_test_apk" + android_test_apk_name = "ChromeSmokeTest" +} + +instrumentation_test_runner("chrome_modern_public_smoke_test") { + apk_under_test = ":chrome_modern_public_apk" android_test_apk = ":chrome_smoke_test_apk" android_test_apk_name = "ChromeSmokeTest" } +# Public webview targets don't work with non-public sdks. +# https://crbug.com/1000763 +if (public_android_sdk) { + instrumentation_test_runner("monochrome_public_smoke_test") { + apk_under_test = ":monochrome_public_apk" + android_test_apk = ":chrome_smoke_test_apk" + android_test_apk_name = "ChromeSmokeTest" + never_incremental = true + } +} + android_test_apk("chrome_bundle_smoke_test_apk") { apk_name = "ChromeBundleSmokeTest" android_manifest = "javatests/src/org/chromium/chrome/test/smoke/AndroidManifest_bundle.xml" - target_sdk_version = 28 + target_sdk_version = android_sdk_version testonly = true java_files = [ "javatests/src/org/chromium/chrome/test/smoke/ChromeBundleSmokeTest.java", @@ -2134,75 +2159,113 @@ android_test_apk("chrome_bundle_smoke_test_apk") { ] } -instrumentation_test_runner("monochrome_public_bundle_smoke_test") { - apk_under_test = "//chrome/android:monochrome_public_bundle_apks" +_bundle_smoke_test_extra_args = [ + # Make extra args be passed through to the bundle under test (see below). + "--use-apk-under-test-flags-file", + + # Chrome crashes at startup if strict mode is turned on. + "--strict-mode=off", + + # These args are passed through to the bundle under test. + "--enable-test-dummy-module", + "--disable-fre", +] + +instrumentation_test_runner("chrome_modern_public_bundle_smoke_test") { + apk_under_test = ":chrome_modern_public_bundle_apks" android_test_apk = ":chrome_bundle_smoke_test_apk" android_test_apk_name = "ChromeBundleSmokeTest" never_incremental = true modules = [ "test_dummy" ] - command_line_args = [ - "--enable-test-dummy-module", - "--no-fre", - ] + extra_args = _bundle_smoke_test_extra_args } -if (defined(expected_static_initializer_count)) { - action_with_pydeps("monochrome_static_initializers") { - script = "//build/android/gyp/assert_static_initializers.py" - inputs = [ - "$root_build_dir/apks/MonochromePublic.apk", - ] - outputs = [ - "$target_gen_dir/$target_name.stamp", - ] - deps = [ - ":monochrome_public_apk", - ] - args = [ - "--expected-count=$expected_static_initializer_count", - "--tool-prefix", - rebase_path(android_tool_prefix, root_build_dir), - "--touch", - rebase_path(outputs[0], root_build_dir), - rebase_path(inputs[0], root_build_dir), - ] - } +_bundle_fake_modules_smoke_test_extra_args = [ + # These are in addition to the ones listed in _bundle_smoke_test_extra_args. + "--fake-feature-module-install", +] + +instrumentation_test_runner( + "chrome_modern_public_bundle_fake_modules_smoke_test") { + apk_under_test = ":chrome_modern_public_bundle_apks" + android_test_apk = ":chrome_bundle_smoke_test_apk" + android_test_apk_name = "ChromeBundleSmokeTest" + never_incremental = true + fake_modules = [ "test_dummy" ] + extra_args = + _bundle_smoke_test_extra_args + _bundle_fake_modules_smoke_test_extra_args } -# Feature modules that go into Chrome Modern application bundles. -# Note that Mono- and Trichrome feature modules are instantiated in the -# Mono- and Trichrome bundle target template. -_chrome_modern_extra_modules = [] -foreach(_module_desc, chrome_modern_module_descs) { - chrome_feature_module( - "chrome_modern_public_bundle_${_module_desc.name}_bundle_module") { - manifest_package = chrome_public_manifest_package - base_module_target = ":chrome_modern_public_base_bundle_module" - uncompress_shared_libraries = chromium_linker_supported - is_monochrome_or_trichrome = false - is_64_bit_browser = android_64bit_target_cpu - include_32_bit_webview = false - version_code = chrome_modern_version_code - version_name = chrome_version_name - module_desc = _module_desc - min_sdk_version = 21 +# Public webview targets don't work with non-public sdks. +# https://crbug.com/1000763 +if (public_android_sdk) { + instrumentation_test_runner("monochrome_public_bundle_smoke_test") { + apk_under_test = "//chrome/android:monochrome_public_bundle_apks" + android_test_apk = ":chrome_bundle_smoke_test_apk" + android_test_apk_name = "ChromeBundleSmokeTest" + never_incremental = true + modules = [ "test_dummy" ] + extra_args = _bundle_smoke_test_extra_args + } + + instrumentation_test_runner( + "monochrome_public_bundle_fake_modules_smoke_test") { + apk_under_test = "//chrome/android:monochrome_public_bundle_apks" + android_test_apk = ":chrome_bundle_smoke_test_apk" + android_test_apk_name = "ChromeBundleSmokeTest" + never_incremental = true + fake_modules = [ "test_dummy" ] + extra_args = _bundle_smoke_test_extra_args + + _bundle_fake_modules_smoke_test_extra_args + } + + if (defined(expected_static_initializer_count)) { + action_with_pydeps("monochrome_static_initializers") { + script = "//build/android/gyp/assert_static_initializers.py" + inputs = [ + "$root_build_dir/apks/MonochromePublic.apk", + ] + outputs = [ + "$target_gen_dir/$target_name.stamp", + ] + deps = [ + ":monochrome_public_apk", + ] + args = [ + "--expected-count=$expected_static_initializer_count", + "--tool-prefix", + rebase_path(android_tool_prefix, root_build_dir), + "--touch", + rebase_path(outputs[0], root_build_dir), + rebase_path(inputs[0], root_build_dir), + ] + } } - _module_desc.module_target = - ":chrome_modern_public_bundle_${_module_desc.name}_bundle_module" - _chrome_modern_extra_modules += [ _module_desc ] } -android_app_bundle("chrome_modern_public_bundle") { - bundle_name = "ChromeModernPublic" +group("chrome_public_wpt") { + testonly = true + data_deps = [ + ":chrome_public_apk", + "//build/android:test_runner_py", + ] + set_sources_assignment_filter([ "#*" ]) + sources = read_file("//testing/scripts/run_android_wpt.pydeps", "list lines") + data = sources + data += [ "//third_party/blink/web_tests/external/" ] +} + +chrome_bundle("chrome_modern_public_bundle") { base_module_target = ":chrome_modern_public_base_bundle_module" - command_line_flags_file = "chrome-command-line" - if (!is_java_debug) { - proguard_enabled = true - } - enable_language_splits = true + bundle_name = "ChromeModernPublic" compress_shared_libraries = true + include_32_bit_webview = false + is_64_bit_browser = android_64bit_target_cpu + is_monochrome_or_trichrome = false + manifest_package = chrome_public_manifest_package min_sdk_version = 21 - extra_modules = _chrome_modern_extra_modules + module_descs = chrome_modern_module_descs + version_code = chrome_modern_version_code } if (is_official_build) { @@ -2257,7 +2320,6 @@ template("monochrome_or_trichrome_public_bundle_tmpl") { _version_code = monochrome_version_code } } - _version_name = chrome_version_name monochrome_public_apk_or_module_tmpl(_base_module_target_name) { forward_variables_from(invoker, @@ -2270,7 +2332,6 @@ template("monochrome_or_trichrome_public_bundle_tmpl") { target_type = "android_app_bundle_module" is_base_module = true version_code = _version_code - version_name = _version_name if (defined(invoker.verify_android_configuration) && invoker.verify_android_configuration) { @@ -2283,116 +2344,104 @@ template("monochrome_or_trichrome_public_bundle_tmpl") { } } - _extra_modules = [] - foreach(_module_desc, _module_descs) { - chrome_feature_module("${target_name}_${_module_desc.name}_bundle_module") { - manifest_package = chrome_public_manifest_package - base_module_target = ":$_base_module_target_name" - uncompress_shared_libraries = true - is_monochrome_or_trichrome = true - is_64_bit_browser = - defined(invoker.is_64_bit_browser) && invoker.is_64_bit_browser - include_32_bit_webview = defined(invoker.include_32_bit_webview) && - invoker.include_32_bit_webview - version_code = _version_code - version_name = _version_name - module_desc = _module_desc - min_sdk_version = _min_sdk_version - } - _module_desc.module_target = - ":${target_name}_${_module_desc.name}_bundle_module" - _extra_modules += [ _module_desc ] - } - - android_app_bundle(target_name) { - bundle_name = _bundle_name + chrome_bundle(target_name) { base_module_target = ":$_base_module_target_name" - command_line_flags_file = "chrome-command-line" - system_image_locale_whitelist = locales - android_chrome_omitted_locales + bundle_name = _bundle_name + include_32_bit_webview = defined(invoker.include_32_bit_webview) && + invoker.include_32_bit_webview + is_64_bit_browser = + defined(invoker.is_64_bit_browser) && invoker.is_64_bit_browser + is_monochrome_or_trichrome = true + manifest_package = chrome_public_manifest_package + min_sdk_version = _min_sdk_version + module_descs = _module_descs + version_code = _version_code if (!is_java_debug) { - proguard_enabled = true proguard_android_sdk_dep = webview_framework_dep if (defined(invoker.verify_android_configuration) && invoker.verify_android_configuration) { verify_proguard_flags = true } } - enable_language_splits = true - min_sdk_version = _min_sdk_version if (trichrome_synchronized_proguard && _is_trichrome) { static_library_provider = ":trichrome_library_for_bundle_apk" } - - extra_modules = _extra_modules } } -monochrome_or_trichrome_public_bundle_tmpl("monochrome_public_bundle") { - bundle_suffix = "" - - # Having //clank present causes different flags because of how play services - # is wired up. - # The channel is required because manifest entries vary based on channel. - if (!enable_chrome_android_internal && android_channel == "stable") { - verify_android_configuration = true +# Public webview targets don't work with non-public sdks. +# https://crbug.com/1000763 +if (public_android_sdk) { + monochrome_or_trichrome_public_bundle_tmpl("monochrome_public_bundle") { + bundle_suffix = "" + + # Having //clank present causes different flags because of how play services + # is wired up. + # The channel is required because manifest entries vary based on channel. + if (!enable_chrome_android_internal && android_channel == "stable") { + verify_android_configuration = true + } } -} -if (is_official_build) { - # Used for binary size monitoring. - create_app_bundle_minimal_apks("monochrome_public_minimal_apks") { - deps = [ - ":monochrome_public_bundle", - ] - bundle_path = "$root_build_dir/apks/MonochromePublic.aab" - } - android_resource_sizes_test("resource_sizes_monochrome_public_minimal_apks") { - file_path = "$root_build_dir/apks/MonochromePublic.minimal.apks" - data_deps = [ - ":monochrome_public_minimal_apks", - ] + if (is_official_build) { + # Used for binary size monitoring. + create_app_bundle_minimal_apks("monochrome_public_minimal_apks") { + deps = [ + ":monochrome_public_bundle", + ] + bundle_path = "$root_build_dir/apks/MonochromePublic.aab" + } + android_resource_sizes_test( + "resource_sizes_monochrome_public_minimal_apks") { + file_path = "$root_build_dir/apks/MonochromePublic.minimal.apks" + data_deps = [ + ":monochrome_public_minimal_apks", + ] + } } -} -monochrome_or_trichrome_public_bundle_tmpl("trichrome_chrome_bundle") { - bundle_suffix = "" - use_trichrome_library = true -} + monochrome_or_trichrome_public_bundle_tmpl("trichrome_chrome_bundle") { + bundle_suffix = "" + use_trichrome_library = true + } -if (android_64bit_target_cpu) { - monochrome_or_trichrome_public_bundle_tmpl("monochrome_64_public_bundle") { - bundle_suffix = "64" - is_64_bit_browser = true - if (build_apk_secondary_abi) { - include_32_bit_webview = false + if (android_64bit_target_cpu) { + monochrome_or_trichrome_public_bundle_tmpl("monochrome_64_public_bundle") { + bundle_suffix = "64" + is_64_bit_browser = true + if (build_apk_secondary_abi) { + include_32_bit_webview = false + } } - } - monochrome_or_trichrome_public_bundle_tmpl("monochrome_64_32_public_bundle") { - bundle_suffix = "6432" - is_64_bit_browser = true - if (build_apk_secondary_abi) { - include_32_bit_webview = true + monochrome_or_trichrome_public_bundle_tmpl( + "monochrome_64_32_public_bundle") { + bundle_suffix = "6432" + is_64_bit_browser = true + if (build_apk_secondary_abi) { + include_32_bit_webview = true + } } - } - monochrome_or_trichrome_public_bundle_tmpl("trichrome_chrome_64_bundle") { - bundle_suffix = "64" - is_64_bit_browser = true - use_trichrome_library = true - if (build_apk_secondary_abi) { - include_32_bit_webview = false + monochrome_or_trichrome_public_bundle_tmpl("trichrome_chrome_64_bundle") { + bundle_suffix = "64" + is_64_bit_browser = true + use_trichrome_library = true + if (build_apk_secondary_abi) { + include_32_bit_webview = false + } } - } - monochrome_or_trichrome_public_bundle_tmpl("trichrome_chrome_64_32_bundle") { - bundle_suffix = "6432" - is_64_bit_browser = true - use_trichrome_library = true - if (build_apk_secondary_abi) { - include_32_bit_webview = true + monochrome_or_trichrome_public_bundle_tmpl( + "trichrome_chrome_64_32_bundle") { + bundle_suffix = "6432" + is_64_bit_browser = true + use_trichrome_library = true + if (build_apk_secondary_abi) { + include_32_bit_webview = true + } } } } @@ -2404,7 +2453,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/AfterStartupTaskUtils.java", "java/src/org/chromium/chrome/browser/AppHooks.java", "java/src/org/chromium/chrome/browser/ApplicationLifetime.java", - "java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java", "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java", "java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java", "java/src/org/chromium/chrome/browser/ChromeFeatureList.java", @@ -2431,6 +2479,7 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTask.java", "java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java", "java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncPwaDetector.java", + "java/src/org/chromium/chrome/browser/background_sync/GooglePlayServicesChecker.java", "java/src/org/chromium/chrome/browser/background_sync/PeriodicBackgroundSyncChromeWakeUpTask.java", "java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java", "java/src/org/chromium/chrome/browser/banners/AppBannerManager.java", @@ -2446,7 +2495,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/complex_tasks/endpoint_fetcher/EndpointFetcher.java", "java/src/org/chromium/chrome/browser/complex_tasks/endpoint_fetcher/EndpointResponse.java", "java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java", - "java/src/org/chromium/chrome/browser/component_updater/VrAssetsComponentInstaller.java", "java/src/org/chromium/chrome/browser/compositor/CompositorView.java", "java/src/org/chromium/chrome/browser/compositor/LayerTitleCache.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java", @@ -2466,7 +2514,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java", "java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchContext.java", "java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java", - "java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPreferenceHelper.java", "java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchRankerLoggerImpl.java", "java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java", "java/src/org/chromium/chrome/browser/contextualsearch/CtrSuppression.java", @@ -2474,7 +2521,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java", "java/src/org/chromium/chrome/browser/crash/PureJavaExceptionHandler.java", "java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java", - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleMetrics.java", "java/src/org/chromium/chrome/browser/database/SQLiteCursor.java", "java/src/org/chromium/chrome/browser/device_dialog/BluetoothChooserDialog.java", "java/src/org/chromium/chrome/browser/device_dialog/BluetoothScanningPermissionDialog.java", @@ -2546,7 +2592,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/infobar/UpdatePasswordInfoBar.java", "java/src/org/chromium/chrome/browser/init/NativeStartupBridge.java", "java/src/org/chromium/chrome/browser/instantapps/InstantAppsSettings.java", - "java/src/org/chromium/chrome/browser/invalidation/InvalidationServiceFactory.java", "java/src/org/chromium/chrome/browser/jsdialog/JavascriptAppModalDialog.java", "java/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialog.java", "java/src/org/chromium/chrome/browser/locale/LocaleManager.java", @@ -2663,7 +2708,7 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/snackbar/smartlockautosignin/AutoSigninSnackbarController.java", "java/src/org/chromium/chrome/browser/ssl/CaptivePortalHelper.java", "java/src/org/chromium/chrome/browser/ssl/SecurityStateModel.java", - "java/src/org/chromium/chrome/browser/subresource_filter/TestSubresourceFilterPublisher.java", + "java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java", "java/src/org/chromium/chrome/browser/suggestions/SuggestionsEventReporterBridge.java", "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java", "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java", @@ -2681,10 +2726,7 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/translate/TranslateBridge.java", "java/src/org/chromium/chrome/browser/usage_stats/NotificationSuspender.java", "java/src/org/chromium/chrome/browser/usage_stats/UsageStatsBridge.java", - "java/src/org/chromium/chrome/browser/util/ChromeContextUtil.java", "java/src/org/chromium/chrome/browser/util/FeatureUtilities.java", - "java/src/org/chromium/chrome/browser/util/PlatformUtil.java", - "java/src/org/chromium/chrome/browser/webapps/AddToHomescreenManager.java", "java/src/org/chromium/chrome/browser/webapps/WebApkHandlerDelegate.java", "java/src/org/chromium/chrome/browser/webapps/WebApkInstallService.java", "java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java", @@ -2693,6 +2735,7 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateDataFetcher.java", "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java", "java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java", + "java/src/org/chromium/chrome/browser/webapps/addtohomescreen/AddToHomescreenManager.java", "java/src/org/chromium/chrome/browser/widget/ThumbnailGenerator.java", ] @@ -2713,4 +2756,8 @@ generate_jni("chrome_jni_headers") { "feed/core/java/src/org/chromium/chrome/browser/feed/FeedSchedulerBridge.java", ] } + + if (enable_vr) { + sources += [ "java/src/org/chromium/chrome/browser/component_updater/VrAssetsComponentInstaller.java" ] + } } |