| # Copyright 2017 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("//chrome/common/features.gni") |
| import("//device/vr/features/features.gni") |
| import("//testing/test.gni") |
| import("//tools/grit/repack.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| assert(enable_vr) |
| |
| static_library("vr_common") { |
| sources = [ |
| "animation_player.cc", |
| "animation_player.h", |
| "assets_component_update_status.h", |
| "assets_load_status.h", |
| "assets_loader.cc", |
| "assets_loader.h", |
| "browser_ui_interface.h", |
| "content_input_delegate.cc", |
| "content_input_delegate.h", |
| "controller_mesh.h", |
| "cpu_surface_provider.cc", |
| "cpu_surface_provider.h", |
| "databinding/binding.h", |
| "databinding/binding_base.h", |
| "databinding/vector_binding.h", |
| "databinding/vector_element_binding.h", |
| "elements/audio_permission_prompt.cc", |
| "elements/audio_permission_prompt.h", |
| "elements/audio_permission_prompt_texture.cc", |
| "elements/audio_permission_prompt_texture.h", |
| "elements/button.cc", |
| "elements/button.h", |
| "elements/content_element.cc", |
| "elements/content_element.h", |
| "elements/controller.cc", |
| "elements/controller.h", |
| "elements/corner_radii.h", |
| "elements/disc_button.cc", |
| "elements/disc_button.h", |
| "elements/draw_phase.cc", |
| "elements/draw_phase.h", |
| "elements/environment/background.cc", |
| "elements/environment/background.h", |
| "elements/environment/grid.cc", |
| "elements/environment/grid.h", |
| "elements/environment/stars.cc", |
| "elements/environment/stars.h", |
| "elements/exit_prompt.cc", |
| "elements/exit_prompt.h", |
| "elements/exit_prompt_texture.cc", |
| "elements/exit_prompt_texture.h", |
| "elements/full_screen_rect.cc", |
| "elements/full_screen_rect.h", |
| "elements/invisible_hit_target.cc", |
| "elements/invisible_hit_target.h", |
| "elements/keyboard.cc", |
| "elements/keyboard.h", |
| "elements/laser.cc", |
| "elements/laser.h", |
| "elements/linear_layout.cc", |
| "elements/linear_layout.h", |
| "elements/omnibox_formatting.cc", |
| "elements/omnibox_formatting.h", |
| "elements/rect.cc", |
| "elements/rect.h", |
| "elements/render_text_wrapper.cc", |
| "elements/render_text_wrapper.h", |
| "elements/repositioner.cc", |
| "elements/repositioner.h", |
| "elements/reticle.cc", |
| "elements/reticle.h", |
| "elements/scaled_depth_adjuster.cc", |
| "elements/scaled_depth_adjuster.h", |
| "elements/shadow.cc", |
| "elements/shadow.h", |
| "elements/spinner.cc", |
| "elements/spinner.h", |
| "elements/text.cc", |
| "elements/text.h", |
| "elements/text_input.cc", |
| "elements/text_input.h", |
| "elements/textured_element.cc", |
| "elements/textured_element.h", |
| "elements/throbber.cc", |
| "elements/throbber.h", |
| "elements/toast.cc", |
| "elements/toast.h", |
| "elements/transient_element.cc", |
| "elements/transient_element.h", |
| "elements/ui_element.cc", |
| "elements/ui_element.h", |
| "elements/ui_element_iterator.h", |
| "elements/ui_element_name.cc", |
| "elements/ui_element_name.h", |
| "elements/ui_element_type.cc", |
| "elements/ui_element_type.h", |
| "elements/ui_texture.cc", |
| "elements/ui_texture.h", |
| "elements/url_bar.cc", |
| "elements/url_bar.h", |
| "elements/url_bar_texture.cc", |
| "elements/url_bar_texture.h", |
| "elements/vector_icon.cc", |
| "elements/vector_icon.h", |
| "elements/viewport_aware_root.cc", |
| "elements/viewport_aware_root.h", |
| "elements/webvr_url_toast.cc", |
| "elements/webvr_url_toast.h", |
| "elements/webvr_url_toast_texture.cc", |
| "elements/webvr_url_toast_texture.h", |
| "exit_vr_prompt_choice.h", |
| "font_fallback.cc", |
| "font_fallback.h", |
| "fps_meter.cc", |
| "fps_meter.h", |
| "ganesh_surface_provider.cc", |
| "ganesh_surface_provider.h", |
| "gltf_asset.cc", |
| "gltf_asset.h", |
| "gltf_parser.cc", |
| "gltf_parser.h", |
| "keyboard_delegate.h", |
| "keyboard_ui_interface.h", |
| "macros.h", |
| "metrics_helper.cc", |
| "metrics_helper.h", |
| "mode.h", |
| "model/assets.cc", |
| "model/assets.h", |
| "model/camera_model.h", |
| "model/capturing_state_model.h", |
| "model/color_scheme.cc", |
| "model/color_scheme.h", |
| "model/controller_model.cc", |
| "model/controller_model.h", |
| "model/modal_prompt_type.cc", |
| "model/modal_prompt_type.h", |
| "model/model.cc", |
| "model/model.h", |
| "model/omnibox_suggestions.cc", |
| "model/omnibox_suggestions.h", |
| "model/reticle_model.h", |
| "model/speech_recognition_model.h", |
| "model/text_input_info.cc", |
| "model/text_input_info.h", |
| "model/toolbar_state.cc", |
| "model/toolbar_state.h", |
| "model/ui_mode.h", |
| "model/web_vr_model.h", |
| "pose_util.cc", |
| "pose_util.h", |
| "renderers/base_quad_renderer.cc", |
| "renderers/base_quad_renderer.h", |
| "renderers/base_renderer.cc", |
| "renderers/base_renderer.h", |
| "renderers/external_textured_quad_renderer.cc", |
| "renderers/external_textured_quad_renderer.h", |
| "renderers/gradient_quad_renderer.cc", |
| "renderers/gradient_quad_renderer.h", |
| "renderers/textured_quad_renderer.cc", |
| "renderers/textured_quad_renderer.h", |
| "renderers/web_vr_renderer.cc", |
| "renderers/web_vr_renderer.h", |
| "sample_queue.cc", |
| "sample_queue.h", |
| "service/vr_device_manager.cc", |
| "service/vr_device_manager.h", |
| "service/vr_display_host.cc", |
| "service/vr_display_host.h", |
| "service/vr_service_impl.cc", |
| "service/vr_service_impl.h", |
| "sliding_average.cc", |
| "sliding_average.h", |
| "speech_recognizer.cc", |
| "speech_recognizer.h", |
| "target_property.cc", |
| "target_property.h", |
| "text_input_delegate.cc", |
| "text_input_delegate.h", |
| "toolbar_helper.cc", |
| "toolbar_helper.h", |
| "transition.cc", |
| "transition.h", |
| "ui.cc", |
| "ui.h", |
| "ui_browser_interface.h", |
| "ui_element_renderer.cc", |
| "ui_element_renderer.h", |
| "ui_input_manager.cc", |
| "ui_input_manager.h", |
| "ui_renderer.cc", |
| "ui_renderer.h", |
| "ui_scene.cc", |
| "ui_scene.h", |
| "ui_scene_creator.cc", |
| "ui_scene_creator.h", |
| "ui_unsupported_mode.h", |
| "vr_gl_util.cc", |
| "vr_gl_util.h", |
| ] |
| |
| public_deps = [ |
| "//ui/gl", |
| ] |
| |
| if (enable_gvr_services) { |
| sources += [ "controller_mesh.cc" ] |
| |
| public_deps += [ "//chrome/browser/resources:vr_shell_resources" ] |
| } |
| |
| deps = [ |
| "//base", |
| "//cc/animation", |
| "//cc/paint", |
| "//chrome/app:generated_resources", |
| "//chrome/browser/vr/vector_icons", |
| "//chrome/common:constants", |
| "//components/omnibox/browser", |
| "//components/security_state/core", |
| "//components/strings", |
| "//components/toolbar", |
| "//components/url_formatter", |
| "//components/vector_icons", |
| "//content/public/browser", |
| "//content/public/common", |
| "//device/vr:mojo_bindings", |
| "//device/vr:vr", |
| "//net", |
| "//skia", |
| "//ui/base", |
| "//ui/display", |
| "//ui/gl/init", |
| ] |
| } |
| |
| test("vr_common_unittests") { |
| sources = [ |
| "animation_player_unittest.cc", |
| "databinding/binding_unittest.cc", |
| "databinding/vector_binding_unittest.cc", |
| "elements/button_unittest.cc", |
| "elements/disc_button_unittest.cc", |
| "elements/exit_prompt_unittest.cc", |
| "elements/linear_layout_unittest.cc", |
| "elements/omnibox_formatting_unittest.cc", |
| "elements/rect_unittest.cc", |
| "elements/repositioner_unittest.cc", |
| "elements/scaled_depth_adjuster_unittest.cc", |
| "elements/shadow_unittest.cc", |
| "elements/spinner_unittest.cc", |
| "elements/text_unittest.cc", |
| "elements/throbber_unittest.cc", |
| "elements/transient_element_unittest.cc", |
| "elements/ui_element_iterator_unittest.cc", |
| "elements/ui_element_unittest.cc", |
| "elements/url_bar_texture_unittest.cc", |
| "elements/vector_icon_unittest.cc", |
| "elements/viewport_aware_root_unittest.cc", |
| "fps_meter_unittest.cc", |
| "gltf_parser_unittest.cc", |
| "pose_util_unittest.cc", |
| "service/vr_device_manager_unittest.cc", |
| "sliding_average_unittest.cc", |
| "speech_recognizer_unittest.cc", |
| "test/fake_ui_element_renderer.cc", |
| "test/fake_ui_element_renderer.h", |
| "test/paths.cc", |
| "test/paths.h", |
| "test/run_all_unittests.cc", |
| "test/ui_test.cc", |
| "test/ui_test.h", |
| "text_input_unittest.cc", |
| "ui_input_manager_unittest.cc", |
| "ui_scene_unittest.cc", |
| "ui_unittest.cc", |
| "vr_gl_util_unittest.cc", |
| ] |
| |
| # TODO(mthiesse, crbug.com/769373): The dependency on device/vr:fakes requires |
| # some workarounds for tests, since we are static-linking to the fakes instead |
| # of loading them from a dll on Windows. |
| defines = [ "DEVICE_VR_IMPLEMENTATION" ] |
| |
| deps = [ |
| ":vr_test_support", |
| "//mojo/common", |
| "//mojo/public/cpp/bindings", |
| "//testing/gmock", |
| "//ui/gfx/geometry", |
| ] |
| if (is_android) { |
| deps += [ "//ui/android:ui_java" ] |
| } |
| } |
| |
| test("vr_pixeltests") { |
| testonly = true |
| |
| sources = [ |
| "test/run_all_pixeltests.cc", |
| "test/ui_pixel_test.cc", |
| "test/ui_pixel_test.h", |
| "ui_pixeltest.cc", |
| ] |
| |
| deps = [ |
| ":vr_gl_test_support", |
| ":vr_test_support", |
| ] |
| if (is_android) { |
| deps += [ "//ui/android:ui_java" ] |
| } |
| } |
| |
| test("vr_common_perftests") { |
| sources = [ |
| "test/run_all_perftests.cc", |
| "text_perftest.cc", |
| ] |
| deps = [ |
| ":vr_gl_test_support", |
| ":vr_test_support", |
| "//testing/perf", |
| ] |
| if (is_android) { |
| deps += [ "//ui/android:ui_java" ] |
| } |
| |
| # Needed for isolate script to execute |
| data = [ |
| "//testing/scripts/common.py", |
| "//testing/xvfb.py", |
| "//testing/scripts/run_gtest_perf_test.py", |
| "//tools/perf/generate_legacy_perf_dashboard_json.py", |
| ] |
| } |
| |
| source_set("vr_test_support") { |
| testonly = true |
| |
| sources = [ |
| "test/animation_utils.cc", |
| "test/animation_utils.h", |
| "test/constants.h", |
| "test/mock_browser_ui_interface.cc", |
| "test/mock_browser_ui_interface.h", |
| "test/mock_content_input_delegate.cc", |
| "test/mock_content_input_delegate.h", |
| "test/mock_render_text.cc", |
| "test/mock_render_text.h", |
| "test/mock_ui_browser_interface.cc", |
| "test/mock_ui_browser_interface.h", |
| "test/vr_test_suite.cc", |
| "test/vr_test_suite.h", |
| ] |
| |
| if (!enable_gvr_services) { |
| # For testing, we add back controller_mesh.cc on platforms where it isn't |
| # included by vr_common. |
| sources += [ "controller_mesh.cc" ] |
| } |
| |
| public_deps = [ |
| ":vr_common", |
| ":vr_test_pak", |
| "//base/test:test_support", |
| "//cc:test_support", |
| "//components/security_state/core", |
| "//components/toolbar:vector_icons", |
| "//content/test:test_support", |
| "//mojo/edk/system", |
| "//skia", |
| "//testing/gtest", |
| "//ui/accessibility:ax_gen", |
| "//ui/gfx:test_support", |
| |
| # TODO(mthiesse, crbug.com/769373): Remove dependency on device/vr:fakes. |
| "//device/vr:fakes", |
| |
| # TODO(cjgrant): Figure out why including //ui/android:ui_java here |
| # doesn't propagate to individual test executable targets. |
| ] |
| |
| data = [ |
| "test/data/", |
| "$root_out_dir/vr_test.pak", |
| ] |
| } |
| |
| source_set("vr_gl_test_support") { |
| testonly = true |
| |
| sources = [ |
| "test/gl_test_environment.cc", |
| "test/gl_test_environment.h", |
| "test/gl_test_environment_unittest.cc", |
| ] |
| |
| public_deps = [ |
| "//base/test:test_support", |
| "//skia", |
| "//ui/gl", |
| ] |
| } |
| |
| repack("vr_test_pak") { |
| sources = [ |
| "$root_gen_dir/chrome/generated_resources_en-US.pak", |
| "$root_gen_dir/chrome/vr_shell_resources.pak", |
| "$root_gen_dir/components/components_resources.pak", |
| "$root_gen_dir/components/strings/components_strings_en-US.pak", |
| ] |
| |
| output = "$root_out_dir/vr_test.pak" |
| |
| deps = [ |
| "//chrome/app:generated_resources", |
| "//chrome/browser/resources:vr_shell_resources", |
| "//components/resources:components_resources", |
| "//components/strings", |
| ] |
| } |