# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//third_party/jni_zero/jni_zero.gni")
}
static_library("core") {
sources = [
"fail_state.cc",
"fail_state.h",
"filtered_offline_item_observer.cc",
"filtered_offline_item_observer.h",
"launch_location.h",
"offline_content_aggregator.cc",
"offline_content_aggregator.h",
"offline_content_provider.cc",
"offline_content_provider.h",
"offline_item.cc",
"offline_item.h",
"offline_item_filter.h",
"offline_item_state.h",
"open_params.cc",
"open_params.h",
"pending_state.h",
"rename_result.h",
"throttled_offline_content_provider.cc",
"throttled_offline_content_provider.h",
"update_delta.cc",
"update_delta.h",
]
public_deps = [
"//base",
"//components/keyed_service/core",
"//ui/gfx",
"//url",
]
deps = [
"utilities:utilities",
"//ui/gfx/geometry",
]
if (is_android) {
sources += [
"android/offline_content_aggregator_bridge.cc",
"android/offline_content_aggregator_bridge.h",
"android/offline_item_bridge.cc",
"android/offline_item_bridge.h",
"android/offline_item_share_info_bridge.cc",
"android/offline_item_share_info_bridge.h",
"android/offline_item_visuals_bridge.cc",
"android/offline_item_visuals_bridge.h",
]
deps += [ ":jni_headers" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"filtered_offline_item_observer_unittest.cc",
"offline_content_aggregator_unittest.cc",
"throttled_offline_content_provider_unittest.cc",
]
deps = [
":core",
"utilities:unit_tests",
"//base/test:test_support",
"//components/offline_items_collection/core/test_support",
]
if (is_android) {
sources += [ "android/offline_item_bridge_unittest.cc" ]
deps += [
":native_j_unittests_jni_headers",
":native_java_unittests_java",
]
}
}
if (is_android) {
android_library("core_java") {
sources = [
"android/java/src/org/chromium/components/offline_items_collection/ContentId.java",
"android/java/src/org/chromium/components/offline_items_collection/LegacyHelpers.java",
"android/java/src/org/chromium/components/offline_items_collection/OfflineContentAggregatorBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/OfflineContentProvider.java",
"android/java/src/org/chromium/components/offline_items_collection/OfflineItem.java",
"android/java/src/org/chromium/components/offline_items_collection/OfflineItemShareInfo.java",
"android/java/src/org/chromium/components/offline_items_collection/OfflineItemVisuals.java",
"android/java/src/org/chromium/components/offline_items_collection/OpenParams.java",
"android/java/src/org/chromium/components/offline_items_collection/ShareCallback.java",
"android/java/src/org/chromium/components/offline_items_collection/UpdateDelta.java",
"android/java/src/org/chromium/components/offline_items_collection/VisualsCallback.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemShareInfoBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemVisualsBridge.java",
]
srcjar_deps = [
":jni_enums",
":jni_headers",
]
deps = [
"//base:base_java",
"//build/android:build_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
"//url:gurl_java",
]
}
generate_jni("jni_headers") {
visibility = [ ":*" ]
sources = [
"android/java/src/org/chromium/components/offline_items_collection/OfflineContentAggregatorBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemShareInfoBridge.java",
"android/java/src/org/chromium/components/offline_items_collection/bridges/OfflineItemVisualsBridge.java",
]
}
java_cpp_enum("jni_enums") {
visibility = [ ":*" ]
sources = [
"fail_state.h",
"launch_location.h",
"offline_item.h",
"offline_item_filter.h",
"offline_item_state.h",
"pending_state.h",
"rename_result.h",
]
}
android_library("native_java_unittests_java") {
testonly = true
deps = [
":core_java",
"//third_party/jni_zero:jni_zero_java",
"//third_party/junit",
]
srcjar_deps = [ ":native_j_unittests_jni_headers" ]
sources = [ "android/native_java_unittests/src/org/chromium/components/offline_items_collection/bridges/OfflineItemBridgeUnitTest.java" ]
}
generate_jni("native_j_unittests_jni_headers") {
testonly = true
sources = [ "android/native_java_unittests/src/org/chromium/components/offline_items_collection/bridges/OfflineItemBridgeUnitTest.java" ]
}
}