Commit e39b6fce authored by Clark DuVall's avatar Clark DuVall Committed by Chromium LUCI CQ

Split out a minimal target from content_java to use in the base module

This reduces the base dex size in trichrome by 0.5MB, which should help
both memory usage and startup time in child processes with isolated
splits enabled. Unfortunately we can't do the same for monochrome at the
moment because WebView still needs the full content_java target.

Bug: 11674041
Change-Id: I2aa3ba17ef97ab311e23f3ab8f0c0340cee9bfe7
Binary-Size: The method count is inflated because methods are moving
Binary-Size: from the base module -> chrome module, and it doesn't look
Binary-Size: like these are counted right. The increase in
Binary-Size: Combined_unique methods is only +13.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2634009
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844827}
parent 27f8a051
......@@ -2228,7 +2228,8 @@ android_library("base_module_java") {
"//components/version_info/android:version_constants_java",
"//components/viz/common:common_java",
"//components/viz/service:service_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//media/base/android:media_java",
# Deps for DFMs.
"//chrome/android/modules/extra_icu/provider:java",
......@@ -2251,6 +2252,10 @@ android_library("base_module_java") {
srcjar_deps = [ ":chrome_product_config" ]
# If this throws an error, try depending on
# //content/public/android:content_main_dex_java instead.
assert_no_deps = [ "//content/public/android:content_full_java" ]
# Add the actual implementation where necessary so that downstream targets
# can provide their own implementations.
jar_excluded_patterns = [ "*/ProductConfig.class" ]
......
......@@ -16,7 +16,7 @@ android_library("file_provider_java") {
deps = [
"//base:base_java",
"//components/embedder_support/android:util_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_core_core_java",
]
......
......@@ -20,7 +20,6 @@ android_library("java") {
"//base:jni_java",
"//components/browser_ui/util/android:java",
"//components/embedder_support/android:util_java",
"//content/public/android:content_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_core_core_java",
"//ui/android:ui_full_java",
......
......@@ -84,7 +84,7 @@ if (is_android) {
deps = [
":background_task_scheduler_task_ids_java",
"//base:base_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
]
}
......
......@@ -34,7 +34,7 @@ if (is_android) {
"//base:base_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/background_task_scheduler:public_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:chromium_play_services_availability_java",
"//third_party/android_deps:protobuf_lite_runtime_java",
......
......@@ -23,7 +23,6 @@ android_library("java") {
"//base:base_java",
"//cc:cc_java",
"//components/embedder_support/android:util_java",
"//content/public/android:content_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_collection_collection_java",
"//third_party/android_deps:androidx_core_core_java",
......
......@@ -49,7 +49,7 @@ android_library("util_java") {
"//base:base_java",
"//base:jni_java",
"//components/url_formatter/android:url_formatter_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//net/android:net_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_core_core_java",
......
......@@ -112,7 +112,7 @@ android_library("service_java") {
"//base:base_java",
"//base:jni_java",
"//components/payments/mojom:mojom_java",
"//content/public/android:content_java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
]
srcjar_deps = [
......
......@@ -72,9 +72,73 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
outputs = [ _srcjar_path ]
}
android_library("content_java") {
java_group("content_java") {
deps = [
":content_full_java",
":content_main_dex_java",
]
}
# The minimal //content code needed for the base module. This includes all code
# needed in child processes.
android_library("content_main_dex_java") {
deps = [
":content_java_resources",
"//base:base_java",
"//base:jni_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//ui/android:ui_no_recycler_view_java",
]
sources = [
"java/src/org/chromium/content/app/ContentChildProcessService.java",
"java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java",
"java/src/org/chromium/content/app/ContentMain.java",
"java/src/org/chromium/content/app/KillChildUncaughtExceptionHandler.java",
"java/src/org/chromium/content/app/PrivilegedProcessService.java",
"java/src/org/chromium/content/app/PrivilegedProcessService0.java",
"java/src/org/chromium/content/app/PrivilegedProcessService1.java",
"java/src/org/chromium/content/app/PrivilegedProcessService2.java",
"java/src/org/chromium/content/app/PrivilegedProcessService3.java",
"java/src/org/chromium/content/app/PrivilegedProcessService4.java",
"java/src/org/chromium/content/app/SandboxedProcessService.java",
"java/src/org/chromium/content/app/ZygotePreload.java",
"java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java",
"java/src/org/chromium/content/browser/ChildProcessCreationParamsImpl.java",
"java/src/org/chromium/content/browser/ContentChildProcessConstants.java",
"java/src/org/chromium/content/browser/DeviceUtilsImpl.java",
"java/src/org/chromium/content/browser/ServicificationStartupUma.java",
"java/src/org/chromium/content/browser/TracingControllerAndroidImpl.java",
"java/src/org/chromium/content/browser/UiThreadTaskTraitsImpl.java",
"java/src/org/chromium/content/common/ContentSwitchUtils.java",
"java/src/org/chromium/content/common/SurfaceWrapper.java",
"java/src/org/chromium/content_public/app/ChildProcessServiceFactory.java",
"java/src/org/chromium/content_public/browser/BrowserStartupController.java",
"java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java",
"java/src/org/chromium/content_public/browser/ChildProcessCreationParams.java",
"java/src/org/chromium/content_public/browser/DeviceUtils.java",
"java/src/org/chromium/content_public/browser/TracingControllerAndroid.java",
"java/src/org/chromium/content_public/browser/UiThreadTaskTraits.java",
"java/src/org/chromium/content_public/common/ContentProcessInfo.java",
"java/src/org/chromium/content_public/common/ContentUrlConstants.java",
"java/src/org/chromium/content_public/common/Referrer.java",
"java/src/org/chromium/content_public/common/ResourceRequestBody.java",
"java/src/org/chromium/content_public/common/ScreenOrientationConstants.java",
"java/src/org/chromium/content_public/common/UseZoomForDSFPolicy.java",
]
resources_package = "org.chromium.content"
srcjar_deps = [
":common_aidl",
":content_public_android_java_enums_srcjar",
":content_public_android_java_switches_srcjar",
":generate_sandboxed_service_srcjar",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
android_library("content_full_java") {
deps = [
":content_main_dex_java",
"$google_play_services_package:google_play_services_auth_api_phone_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
......@@ -122,12 +186,7 @@ android_library("content_java") {
"//url:gurl_java",
"//url:origin_java",
]
resources_package = "org.chromium.content"
srcjar_deps = [
":common_aidl",
":content_public_android_java_enums_srcjar",
":content_public_android_java_switches_srcjar",
":generate_sandboxed_service_srcjar",
":is_ready_to_pay_service_aidl",
"//content/browser/accessibility:content_browser_accessibility_java_enums_srcjar",
"//content/browser/sms:sms_provider_gms_backend_enum",
......@@ -137,36 +196,20 @@ android_library("content_java") {
]
sources = [
"java/src/org/chromium/content/app/ContentChildProcessService.java",
"java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java",
"java/src/org/chromium/content/app/ContentMain.java",
"java/src/org/chromium/content/app/KillChildUncaughtExceptionHandler.java",
"java/src/org/chromium/content/app/PrivilegedProcessService.java",
"java/src/org/chromium/content/app/PrivilegedProcessService0.java",
"java/src/org/chromium/content/app/PrivilegedProcessService1.java",
"java/src/org/chromium/content/app/PrivilegedProcessService2.java",
"java/src/org/chromium/content/app/PrivilegedProcessService3.java",
"java/src/org/chromium/content/app/PrivilegedProcessService4.java",
"java/src/org/chromium/content/app/SandboxedProcessService.java",
"java/src/org/chromium/content/app/ZygotePreload.java",
"java/src/org/chromium/content/browser/AppWebMessagePort.java",
"java/src/org/chromium/content/browser/AppWebMessagePortDescriptor.java",
"java/src/org/chromium/content/browser/AudioFocusDelegate.java",
"java/src/org/chromium/content/browser/BackgroundSyncNetworkObserver.java",
"java/src/org/chromium/content/browser/BindingManager.java",
"java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java",
"java/src/org/chromium/content/browser/ChildProcessCreationParamsImpl.java",
"java/src/org/chromium/content/browser/ChildProcessLauncherHelperImpl.java",
"java/src/org/chromium/content/browser/ChildProcessRanking.java",
"java/src/org/chromium/content/browser/ContactsDialogHost.java",
"java/src/org/chromium/content/browser/ContentApiHelperForM.java",
"java/src/org/chromium/content/browser/ContentChildProcessConstants.java",
"java/src/org/chromium/content/browser/ContentClassFactory.java",
"java/src/org/chromium/content/browser/ContentFeatureListImpl.java",
"java/src/org/chromium/content/browser/ContentNfcDelegate.java",
"java/src/org/chromium/content/browser/ContentUiEventHandler.java",
"java/src/org/chromium/content/browser/ContentViewStaticsImpl.java",
"java/src/org/chromium/content/browser/DeviceUtilsImpl.java",
"java/src/org/chromium/content/browser/Gamepad.java",
"java/src/org/chromium/content/browser/GestureListenerManagerImpl.java",
"java/src/org/chromium/content/browser/GpuProcessCallback.java",
......@@ -182,13 +225,10 @@ android_library("content_java") {
"java/src/org/chromium/content/browser/RenderCoordinatesImpl.java",
"java/src/org/chromium/content/browser/RenderWidgetHostViewImpl.java",
"java/src/org/chromium/content/browser/ScreenOrientationProviderImpl.java",
"java/src/org/chromium/content/browser/ServicificationStartupUma.java",
"java/src/org/chromium/content/browser/SpareChildConnection.java",
"java/src/org/chromium/content/browser/SpeechRecognitionImpl.java",
"java/src/org/chromium/content/browser/SyntheticGestureTarget.java",
"java/src/org/chromium/content/browser/TracingControllerAndroidImpl.java",
"java/src/org/chromium/content/browser/TtsPlatformImpl.java",
"java/src/org/chromium/content/browser/UiThreadTaskTraitsImpl.java",
"java/src/org/chromium/content/browser/ViewEventSinkImpl.java",
"java/src/org/chromium/content/browser/WindowEventObserver.java",
"java/src/org/chromium/content/browser/WindowEventObserverManager.java",
......@@ -273,22 +313,15 @@ android_library("content_java") {
"java/src/org/chromium/content/browser/sms/Wrappers.java",
"java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java",
"java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java",
"java/src/org/chromium/content/common/ContentSwitchUtils.java",
"java/src/org/chromium/content/common/SurfaceWrapper.java",
"java/src/org/chromium/content_public/app/ChildProcessServiceFactory.java",
"java/src/org/chromium/content_public/browser/AccessibilitySnapshotCallback.java",
"java/src/org/chromium/content_public/browser/AccessibilitySnapshotNode.java",
"java/src/org/chromium/content_public/browser/ActionModeCallbackHelper.java",
"java/src/org/chromium/content_public/browser/BrowserStartupController.java",
"java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java",
"java/src/org/chromium/content_public/browser/ChildProcessCreationParams.java",
"java/src/org/chromium/content_public/browser/ChildProcessLauncherHelper.java",
"java/src/org/chromium/content_public/browser/ContactsPicker.java",
"java/src/org/chromium/content_public/browser/ContactsPickerDelegate.java",
"java/src/org/chromium/content_public/browser/ContactsPickerListener.java",
"java/src/org/chromium/content_public/browser/ContentFeatureList.java",
"java/src/org/chromium/content_public/browser/ContentViewStatics.java",
"java/src/org/chromium/content_public/browser/DeviceUtils.java",
"java/src/org/chromium/content_public/browser/FeaturePolicyFeature.java",
"java/src/org/chromium/content_public/browser/GestureListenerManager.java",
"java/src/org/chromium/content_public/browser/GestureStateListener.java",
......@@ -320,8 +353,6 @@ android_library("content_java") {
"java/src/org/chromium/content_public/browser/SelectionPopupController.java",
"java/src/org/chromium/content_public/browser/SmartClipProvider.java",
"java/src/org/chromium/content_public/browser/SpeechRecognition.java",
"java/src/org/chromium/content_public/browser/TracingControllerAndroid.java",
"java/src/org/chromium/content_public/browser/UiThreadTaskTraits.java",
"java/src/org/chromium/content_public/browser/ViewEventSink.java",
"java/src/org/chromium/content_public/browser/WebContents.java",
"java/src/org/chromium/content_public/browser/WebContentsAccessibility.java",
......@@ -329,12 +360,6 @@ android_library("content_java") {
"java/src/org/chromium/content_public/browser/WebContentsObserver.java",
"java/src/org/chromium/content_public/browser/WebContentsStatics.java",
"java/src/org/chromium/content_public/browser/trusttokens/TrustTokenFulfillerManager.java",
"java/src/org/chromium/content_public/common/ContentProcessInfo.java",
"java/src/org/chromium/content_public/common/ContentUrlConstants.java",
"java/src/org/chromium/content_public/common/Referrer.java",
"java/src/org/chromium/content_public/common/ResourceRequestBody.java",
"java/src/org/chromium/content_public/common/ScreenOrientationConstants.java",
"java/src/org/chromium/content_public/common/UseZoomForDSFPolicy.java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment