blob: dcbd8481a691483cf9492f86bdfc2b0733f82387 [file] [log] [blame]
# Copyright 2016 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("//build/config/android/rules.gni")
import("//chrome/common/features.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//testing/test.gni")
assert(enable_vr)
static_library("vr_android") {
defines = []
sources = [
"android_ui_gesture_target.cc",
"android_ui_gesture_target.h",
"android_vsync_helper.cc",
"android_vsync_helper.h",
"autocomplete_controller.cc",
"autocomplete_controller.h",
"browser_renderer_factory.cc",
"browser_renderer_factory.h",
"cardboard_input_delegate.cc",
"cardboard_input_delegate.h",
"gl_browser_interface.h",
"gvr_graphics_delegate.cc",
"gvr_graphics_delegate.h",
"gvr_input_delegate.cc",
"gvr_input_delegate.h",
"gvr_keyboard_delegate.cc",
"gvr_keyboard_delegate.h",
"gvr_keyboard_shim.cc",
"gvr_scheduler_delegate.cc",
"gvr_scheduler_delegate.h",
"gvr_util.cc",
"gvr_util.h",
"mailbox_to_surface_bridge.cc",
"mailbox_to_surface_bridge.h",
"metrics_util_android.cc",
"metrics_util_android.h",
"register_jni.h",
"scoped_gpu_trace.cc",
"scoped_gpu_trace.h",
"vr_controller.cc",
"vr_controller.h",
"vr_core_info.cc",
"vr_core_info.h",
"vr_gl_thread.cc",
"vr_gl_thread.h",
"vr_input_connection.cc",
"vr_input_connection.h",
"vr_module_provider.cc",
"vr_module_provider.h",
"vr_shell.cc",
"vr_shell.h",
"vr_shell_delegate.cc",
"vr_shell_delegate.h",
"web_xr_presentation_state.cc",
"web_xr_presentation_state.h",
]
if (enable_arcore) {
sources += [
"arcore_device/ar_image_transport.cc",
"arcore_device/ar_image_transport.h",
"arcore_device/ar_renderer.cc",
"arcore_device/ar_renderer.h",
"arcore_device/arcore.h",
"arcore_device/arcore_device.cc",
"arcore_device/arcore_device.h",
"arcore_device/arcore_device_provider.cc",
"arcore_device/arcore_device_provider.h",
"arcore_device/arcore_gl.cc",
"arcore_device/arcore_gl.h",
"arcore_device/arcore_gl_thread.cc",
"arcore_device/arcore_gl_thread.h",
"arcore_device/arcore_impl.cc",
"arcore_device/arcore_impl.h",
"arcore_device/arcore_install_utils.h",
"arcore_device/arcore_java_utils.cc",
"arcore_device/arcore_java_utils.h",
"arcore_device/arcore_permission_helper.cc",
"arcore_device/arcore_permission_helper.h",
"arcore_device/arcore_shim.cc",
"arcore_device/arcore_shim.h",
]
}
deps = [
":vr_jni_headers",
"//base",
"//cc",
"//chrome/browser/ui:ui",
"//chrome/browser/vr:vr_common",
"//chrome/common:common",
"//chrome/common:constants",
"//components/omnibox/browser",
"//components/rappor",
"//components/search_engines:search_engines",
"//content/public/browser",
"//content/public/common",
"//device/gamepad",
"//device/vr",
"//device/vr/buildflags:buildflags",
"//services/device/public/mojom",
"//services/metrics/public/cpp:ukm_builders",
"//services/ws/public/cpp/gpu",
"//third_party/gvr-android-sdk:gvr_shim",
"//ui/android",
"//ui/base",
"//ui/display",
"//ui/gl",
"//ui/gl/init",
]
if (enable_arcore) {
deps += [ ":ar_jni_headers" ]
}
public_deps = [
"//device/vr/public/mojom",
]
libs = [ "android" ]
configs += [
"//third_party/gvr-android-keyboard:kb_config",
"//third_party/gvr-android-sdk:libgvr_config",
]
if (enable_arcore) {
configs += [ "//third_party/arcore-android-sdk:libarcore_config" ]
}
}
android_library("java") {
java_files = [
"//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/EmptySniffingVrViewContainer.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/BuildConstants.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/VrInputMethodManagerWrapper.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/NoopCanvas.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/OnDispatchTouchEventCallback.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrAlertDialog.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCancelAnimationActivity.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCompositorSurfaceManager.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateImpl.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentDelegateImpl.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateProviderImpl.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialog.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialogManager.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrFeedbackStatus.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrModalPresenter.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrPopupWindow.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrToast.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrToastManager.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrUiWidgetFactory.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrViewContainer.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrWindowAndroid.java",
]
classpath_deps = [
"//base:base_java",
"//chrome/android:chrome_java",
"//components/policy/android:policy_java",
"//content/public/android:content_java",
"//third_party/android_deps:android_arch_lifecycle_common_java",
"//third_party/android_deps:android_arch_lifecycle_runtime_java",
"//third_party/android_deps:android_support_annotations_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/gvr-android-keyboard:kb_java",
"//third_party/gvr-android-sdk:gvr_common_java",
"//ui/android:ui_full_java",
"//ui/android:ui_utils_java",
]
}
generate_jni("vr_jni_headers") {
sources = [
"//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java",
"//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java",
]
jni_package = "vr"
}
if (enable_arcore) {
generate_jni("ar_jni_headers") {
sources = [
"//chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreJavaUtils.java",
]
jni_package = "vr"
}
}
if (current_toolchain == default_toolchain) {
generate_jni_registration("jni_registration") {
target = ":java"
header_output = "$target_gen_dir/${target_name}.h"
namespace = "vr"
}
}
test("vr_android_unittests") {
sources = [
"arcore_device/arcore_device_unittest.cc",
"arcore_device/fake_arcore.cc",
"arcore_device/fake_arcore.h",
"register_jni.cc",
"test/ar_test_suite.cc",
"test/ar_test_suite.h",
"test/run_all_unittests.cc",
]
libs = [ "android" ]
deps = [
":jni_registration",
":vr_android",
"//base/test:test_support",
"//chrome/browser:browser",
"//components/translate/core/language_detection:language_detection",
"//device/vr:fakes",
"//device/vr/public/mojom",
"//mojo/core/embedder",
"//mojo/public/cpp/bindings",
"//services/network:test_support",
"//testing/android/native_test:native_test_native_code",
"//testing/gmock",
"//testing/gtest:gtest",
]
}