| # Copyright 2019 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//media/media_options.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| } |
| |
| source_set("generator") { |
| deps = [ |
| "//base", |
| "//cc", |
| "//chrome/browser/image_decoder", |
| "//chrome/common", |
| "//chrome/services/media_gallery_util/public/cpp", |
| "//chrome/services/media_gallery_util/public/mojom", |
| "//content/public/browser", |
| "//media", |
| "//mojo/public/cpp/bindings", |
| "//skia", |
| "//ui/gfx", |
| ] |
| |
| sources = [ |
| "image_thumbnail_request.cc", |
| "image_thumbnail_request.h", |
| "thumbnail_util.cc", |
| "thumbnail_util.h", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "android/local_media_data_source_factory.cc", |
| "android/local_media_data_source_factory.h", |
| "android/stats.cc", |
| "android/stats.h", |
| "android/thumbnail_generator.cc", |
| "android/thumbnail_generator.h", |
| "android/thumbnail_media_parser.cc", |
| "android/thumbnail_media_parser.h", |
| ] |
| |
| if (media_use_ffmpeg) { |
| sources += [ |
| "android/thumbnail_media_parser_impl.cc", |
| "android/thumbnail_media_parser_impl.h", |
| ] |
| |
| deps += [ "//services/viz/public/cpp/gpu" ] |
| } else { |
| sources += [ |
| "android/noop_thumbnail_media_parser.cc", |
| "android/noop_thumbnail_media_parser.h", |
| ] |
| } |
| |
| deps += [ |
| ":jni_headers", |
| "//media/mojo/clients", |
| "//third_party/android_opengl/etc1", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| android_library("java") { |
| deps = [ |
| ":jni_headers", |
| ":proto_java", |
| "//base:base_java", |
| "//base:jni_java", |
| "//chrome/browser/util:java", |
| "//components/browser_ui/util/android:java", |
| "//content/public/android:content_java", |
| "//third_party/android_deps:android_support_v4_java", |
| "//third_party/android_deps:androidx_annotation_annotation_java", |
| "//third_party/android_deps:androidx_collection_collection_java", |
| "//third_party/android_deps:com_google_protobuf_protobuf_javalite_java", |
| ] |
| |
| sources = [ |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailDiskStorage.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailGenerator.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailGeneratorCallback.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailProvider.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailProviderImpl.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailStorageDelegate.java", |
| ] |
| |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| } |
| |
| generate_jni("jni_headers") { |
| visibility = [ ":*" ] |
| |
| sources = [ "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailGenerator.java" ] |
| } |
| |
| proto_java_library("proto_java") { |
| proto_path = |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator" |
| sources = [ "$proto_path/thumbnail_cache_entry.proto" ] |
| } |
| |
| android_library("javatests") { |
| testonly = true |
| |
| deps = [ |
| ":generator_java_test_support", |
| ":java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/util:java", |
| "//chrome/test/android:chrome_java_test_support", |
| "//components/browser_ui/util/android:java", |
| "//content/public/android:content_java", |
| "//content/public/test/android:content_java_test_support", |
| "//third_party/android_deps:android_support_v4_java", |
| "//third_party/android_support_test_runner:runner_java", |
| "//third_party/hamcrest:hamcrest_java", |
| "//third_party/junit", |
| "//ui/android:ui_java_test_support", |
| ] |
| |
| data = [ "//chrome/browser/thumbnail/generator/test/data/android/" ] |
| |
| sources = [ |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailDiskStorageTest.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailMediaParserTest.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailProviderImplTest.java", |
| ] |
| } |
| |
| generate_jni("test_support_jni_headers") { |
| testonly = true |
| |
| visibility = [ ":*" ] |
| |
| sources = [ |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailMediaData.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailMediaParserBridge.java", |
| ] |
| } |
| |
| android_library("generator_java_test_support") { |
| testonly = true |
| |
| sources = [ |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailMediaData.java", |
| "android/java/src/org/chromium/chrome/browser/thumbnail/generator/ThumbnailMediaParserBridge.java", |
| ] |
| |
| deps = [ |
| ":test_support_jni_headers", |
| "//base:base_java", |
| "//base:jni_java", |
| ] |
| |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| deps = [ |
| ":generator", |
| ":test_support_jni_headers", |
| "//base", |
| "//skia", |
| "//ui/gfx", |
| ] |
| |
| sources = [ |
| "android/thumbnail_media_parser_bridge.cc", |
| "android/thumbnail_media_parser_bridge.h", |
| ] |
| } |
| } |