| # 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", |
| ] |
| } |