blob: d7bbafea9e7202a8656dfb9386b1f9a336e7abf9 [file] [log] [blame]
# Copyright 2018 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("//third_party/jni_zero/jni_zero.gni")
import("//tools/grit/grit_rule.gni")
android_library("browser_context_java") {
sources = [
"java/src/org/chromium/components/embedder_support/browser_context/PartitionResolver.java",
"java/src/org/chromium/components/embedder_support/browser_context/PartitionResolverSupplier.java",
]
deps = [
":simple_factory_key_java",
"//base:base_java",
"//content/public/android:content_full_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
}
android_library("simple_factory_key_java") {
sources = [ "java/src/org/chromium/components/embedder_support/simple_factory_key/SimpleFactoryKeyHandle.java" ]
deps = [ "//third_party/jni_zero:jni_zero_java" ]
}
generate_jni("simple_factory_key_jni_headers") {
sources = [ "java/src/org/chromium/components/embedder_support/simple_factory_key/SimpleFactoryKeyHandle.java" ]
}
static_library("simple_factory_key") {
sources = [
"simple_factory_key/simple_factory_key_handle.cc",
"simple_factory_key/simple_factory_key_handle.h",
]
deps = [
":simple_factory_key_jni_headers",
"//base",
"//components/keyed_service/core",
]
}
android_library("application_java") {
deps = [
"//base:base_java",
"//build/android:build_java",
]
sources = [
"java/src/org/chromium/components/embedder_support/application/ClassLoaderContextWrapperFactory.java",
"java/src/org/chromium/components/embedder_support/application/FontPreloadingWorkaround.java",
]
}
android_library("util_java") {
srcjar_deps = [ ":util_jni_headers" ]
sources = [
"java/src/org/chromium/components/embedder_support/util/ExtensionUrlUtil.java",
"java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java",
"java/src/org/chromium/components/embedder_support/util/Origin.java",
"java/src/org/chromium/components/embedder_support/util/UrlConstants.java",
"java/src/org/chromium/components/embedder_support/util/UrlUtilities.java",
"java/src/org/chromium/components/embedder_support/util/WebResourceResponseInfo.java",
]
deps = [
"//base:base_java",
"//build/android:build_java",
"//components/url_formatter/android:url_formatter_java",
"//content/public/android:content_main_dex_java",
"//net/android:net_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_core_core_java",
"//third_party/jni_zero:jni_zero_java",
"//url:gurl_java",
]
}
# Intentionally separate to keep dependencies of content view small.
# TODO(crbug.com/40075084): Remove this library.
android_library("embedder_util_java") {
sources = [ "java/src/org/chromium/components/embedder_support/util/TouchEventFilter.java" ]
deps = [ "//base:base_java" ]
}
static_library("util") {
sources = [
"util/android_stream_reader_url_loader.cc",
"util/android_stream_reader_url_loader.h",
"util/cdn_utils.cc",
"util/cdn_utils.h",
"util/features.cc",
"util/features.h",
"util/input_stream.cc",
"util/input_stream.h",
"util/input_stream_reader.cc",
"util/input_stream_reader.h",
"util/response_delegate_impl.cc",
"util/response_delegate_impl.h",
"util/url_utilities.cc",
"util/web_resource_response.cc",
"util/web_resource_response.h",
]
deps = [
":util_jni_headers",
"//base",
"//components/google/core/common",
"//components/version_info",
"//content/public/browser",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//net",
"//services/network/public/cpp",
"//services/network/public/mojom",
"//url",
]
}
generate_jni("util_jni_headers") {
sources = [
"java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java",
"java/src/org/chromium/components/embedder_support/util/UrlUtilities.java",
"java/src/org/chromium/components/embedder_support/util/WebResourceResponseInfo.java",
]
}
static_library("view") {
sources = [
"view/content_view_render_view.cc",
"view/content_view_render_view.h",
]
deps = [
":view_jni_headers",
"//base",
"//cc/slim",
"//content/public/browser",
"//ui/android",
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
]
}
android_library("content_view_java") {
deps = [
":embedder_util_java",
":virtual_structure_java",
"//base:base_java",
"//build/android:build_java",
"//components/android_autofill/browser:features_java",
"//content/public/android:content_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//ui/accessibility:ax_base_java",
"//ui/android:ui_no_recycler_view_java",
]
sources = [
"java/src/org/chromium/components/embedder_support/view/ContentView.java",
]
}
android_library("virtual_structure_java") {
deps = [
"//base:base_java",
"//build/android:build_java",
"//components/optimization_guide/content/browser/android:optimization_guide_content_java",
"//components/optimization_guide/proto:optimization_guide_proto_java",
"//content/public/android:content_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
sources = [
"java/src/org/chromium/components/embedder_support/virtual_structure/PageContentProtoViewStructureBuilder.java",
"java/src/org/chromium/components/embedder_support/virtual_structure/VirtualStructureProvider.java",
]
}
android_library("view_java") {
deps = [
"//build/android:build_java",
"//components/input/android:java",
"//content/public/android:content_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_no_recycler_view_java",
]
srcjar_deps = [ ":view_jni_headers" ]
sources = [ "java/src/org/chromium/components/embedder_support/view/ContentViewRenderView.java" ]
}
generate_jni("view_jni_headers") {
sources = [ "java/src/org/chromium/components/embedder_support/view/ContentViewRenderView.java" ]
}
java_strings_grd("web_contents_delegate_strings_grd") {
grd_file = "java/strings/web_contents_delegate_android_strings.grd"
}
static_library("web_contents_delegate") {
sources = [
"delegate/color_picker_bridge.cc",
"delegate/color_picker_bridge.h",
"delegate/web_contents_delegate_android.cc",
"delegate/web_contents_delegate_android.h",
]
deps = [
":web_contents_delegate_jni_headers",
"//base",
"//components/input",
"//content/public/browser",
"//content/public/common",
"//net",
"//skia",
"//ui/android",
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
"//url",
]
}
android_resources("web_contents_delegate_java_resources") {
sources = [
"java/res/drawable-hdpi/color_picker_advanced_select_handle.png",
"java/res/drawable-mdpi/color_picker_advanced_select_handle.png",
"java/res/drawable-xhdpi/color_picker_advanced_select_handle.png",
"java/res/drawable/color_button_background.xml",
"java/res/drawable/color_picker_border.xml",
"java/res/drawable/ic_content_copy.xml",
"java/res/drawable/ic_link.xml",
"java/res/drawable/ic_open_in_new.xml",
"java/res/layout/color_picker_advanced_component.xml",
"java/res/layout/color_picker_dialog_view.xml",
"java/res/layout/color_picker_suggestion_view.xml",
"java/res/values/colors.xml",
"java/res/values/dimens.xml",
"java/res/values/ids.xml",
]
deps = [ ":web_contents_delegate_strings_grd" ]
}
android_library("web_contents_delegate_java") {
deps = [
":web_contents_delegate_java_resources",
"//base:base_java",
"//build/android:build_java",
"//content/public/android:content_java",
"//content/public/android:content_util_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_appcompat_appcompat_java",
"//third_party/androidx:androidx_core_core_java",
"//third_party/blink/public/mojom:mojom_platform_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_no_recycler_view_java",
"//url:gurl_java",
]
resources_package = "org.chromium.components.embedder_support.delegate"
srcjar_deps = [ ":web_contents_delegate_jni_headers" ]
sources = [
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvanced.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvancedComponent.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerBridge.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerCoordinator.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerDialogView.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerProperties.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerSuggestionProperties.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerSuggestionsView.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerViewBinder.java",
"java/src/org/chromium/components/embedder_support/delegate/ColorSuggestion.java",
"java/src/org/chromium/components/embedder_support/delegate/OnColorChangedListener.java",
"java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java",
]
}
generate_jni("web_contents_delegate_jni_headers") {
sources = [
"java/src/org/chromium/components/embedder_support/delegate/ColorPickerBridge.java",
"java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java",
]
}
static_library("context_menu") {
sources = [
"contextmenu/context_menu_builder.cc",
"contextmenu/context_menu_builder.h",
"contextmenu/context_menu_image_format.h",
]
deps = [
":context_menu_jni_headers",
"//base",
"//content/public/browser",
"//content/public/common",
"//ui/menus",
"//url",
]
}
generate_jni("context_menu_jni_headers") {
sources = [ "java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuParams.java" ]
}
java_cpp_enum("context_menu_image_format_enum_javagen") {
sources = [ "contextmenu/context_menu_image_format.h" ]
}
android_library("context_menu_java") {
public_deps = [ "//ui/base/mojom:ui_base_types_java" ]
deps = [
"//base:base_java",
"//content/public/android:content_java",
"//content/public/common:common_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_no_recycler_view_java",
"//url:gurl_java",
]
srcjar_deps = [
":context_menu_image_format_enum_javagen",
":context_menu_jni_headers",
]
sources = [
"java/src/org/chromium/components/embedder_support/contextmenu/ChipDelegate.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ChipRenderParams.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuNativeDelegate.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuParams.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuPopulator.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuPopulatorFactory.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuSwitches.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuUi.java",
"java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuUtils.java",
]
}
android_library("native_java_unittests_java") {
testonly = true
deps = [
":util_java",
"//third_party/jni_zero:jni_zero_java",
"//third_party/junit",
]
srcjar_deps = [ ":native_j_unittests_jni_headers" ]
sources = [
"native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java",
"native_java_unittests/src/org/chromium/components/embedder_support/util/WebResourceResponseUnittest.java",
]
}
# See https://bugs.chromium.org/p/chromium/issues/detail?id=908819 for why we
# can't put 'java' in the name here.
generate_jni("native_j_unittests_jni_headers") {
testonly = true
sources = [
"native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java",
"native_java_unittests/src/org/chromium/components/embedder_support/util/WebResourceResponseUnittest.java",
]
}
robolectric_library("junit_test_support") {
sources = [ "junit/src/org/chromium/components/embedder_support/util/ShadowUrlUtilities.java" ]
deps = [ ":util_java" ]
}
robolectric_library("components_embedder_support_junit_tests") {
sources = [
"junit/src/org/chromium/components/embedder_support/contextmenu/ContextMenuParamsUnitTest.java",
"junit/src/org/chromium/components/embedder_support/contextmenu/ContextMenuUtilsUnitTest.java",
"junit/src/org/chromium/components/embedder_support/util/OriginTest.java",
"junit/src/org/chromium/components/embedder_support/view/ContentViewTest.java",
]
deps = [
":content_view_java",
":util_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//base:build_info_java",
"//components/embedder_support/android:context_menu_java",
"//content/public/android:content_java",
"//content/public/common:common_java",
"//third_party/android_deps:org_mockito_mockito_core_java",
"//third_party/androidx:androidx_test_monitor_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/junit",
"//ui/android:ui_java",
"//ui/android:ui_java_test_support",
"//url:url_java",
]
}
android_library("unit_device_javatests") {
testonly = true
resources_package = "org.chromium.components.embedder_support"
sources = [
"javatests/src/org/chromium/components/embedder_support/delegate/ColorPickerDialogRenderTest.java",
"javatests/src/org/chromium/components/embedder_support/util/ExtensionUrlUtilTest.java",
"javatests/src/org/chromium/components/embedder_support/util/UrlConstantsTest.java",
"javatests/src/org/chromium/components/embedder_support/util/UrlUtilitiesUnitTest.java",
]
deps = [
":util_java",
":web_contents_delegate_java",
":web_contents_delegate_java_resources",
"//base:base_java",
"//base:base_java_test_support",
"//content/public/test/android:content_java_test_support",
"//third_party/androidx:androidx_appcompat_appcompat_java",
"//third_party/androidx:androidx_core_core_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/junit",
"//ui/android:ui_java",
"//ui/android:ui_java_resources",
"//ui/android:ui_java_test_support",
"//url:gurl_java",
]
}
android_library("virtual_structure_javatests") {
testonly = true
sources = [ "javatests/src/org/chromium/components/embedder_support/virtual_structure/PageContentProtoViewStructureBuilderTest.java" ]
deps = [
":content_view_java",
":virtual_structure_java",
"//base:base_java",
"//base:base_java_test_support",
"//chrome/browser/flags:java",
"//chrome/browser/tab:java",
"//chrome/test/android:chrome_java_test_support_common",
"//chrome/test/android:chrome_java_transit",
"//components/android_autofill/browser/test_support:java",
"//content/public/test/android:content_java_test_support",
"//net/android:net_java_test_support",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/junit",
]
}
robolectric_library("virtual_structure_junit_tests") {
sources = [ "junit/src/org/chromium/components/embedder_support/virtual_structure/PageContentProtoViewStructureBuilderUnitTest.java" ]
deps = [
":virtual_structure_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//base:callback_java",
"//components/android_autofill/browser/test_support:java",
"//components/optimization_guide/content/browser/android:optimization_guide_content_java",
"//components/optimization_guide/proto:optimization_guide_proto_java",
"//content/public/android:content_java",
"//third_party/android_deps:org_mockito_mockito_core_java",
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/junit",
]
}