0

Split //device/vr mojom components into vr_service & isolated_xr_service

Separating the public mojom interface into vr_service and
isolated_xr_service components allows us to add dependencies to
isolated_xr_service without having a blink variant. The blink variant
tends to cause problematic, unresolved externals.

Bug: 1141989
Change-Id: I1769d342ccdc1d446485a49d355b1afdf07a74ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2518404
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#823839}
This commit is contained in:
Rafael Cintron
2020-11-04 01:58:10 +00:00
committed by Commit Bot
parent 9336fb6d0d
commit 5b95b8ddb2
17 changed files with 49 additions and 31 deletions
BUILD.gn
chrome/browser
content
browser
public
browser
services
isolated_xr_device
utility
device
third_party/blink
renderer
bindings
modules
modules
platform
tools

@ -1051,7 +1051,7 @@ if (!is_ios) {
"//content/test:mojo_bindings_web_test_mojom_js_data_deps",
"//content/test:mojo_web_test_bindings_js_data_deps",
"//device/bluetooth/public/mojom:fake_bluetooth_interfaces_js_data_deps",
"//device/vr/public/mojom:mojom_js_data_deps",
"//device/vr/public/mojom:vr_service_js_data_deps",
"//media/capture/mojom:image_capture_js_data_deps",
"//media/midi:mojo_js_data_deps",
"//mojo/public/interfaces/bindings/tests:test_data_deps",

@ -2340,7 +2340,7 @@ static_library("browser") {
"//components/drive",
"//components/quirks",
"//components/session_manager/core",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
]
if (!is_official_build) {
deps += [
@ -6121,7 +6121,7 @@ static_library("browser") {
"vr/ui_host/vr_ui_host_impl.h",
]
deps += [ "//device/vr/public/mojom" ]
deps += [ "//device/vr/public/mojom:isolated_xr_service" ]
}
sources += [
@ -6144,7 +6144,7 @@ static_library("browser") {
]
}
} else {
deps += [ "//device/vr/public/mojom" ]
deps += [ "//device/vr/public/mojom:isolated_xr_service" ]
}
}

@ -113,7 +113,7 @@ static_library("vr_android") {
]
}
public_deps = [ "//device/vr/public/mojom" ]
public_deps = [ "//device/vr/public/mojom:isolated_xr_service" ]
libs = [ "android" ]
@ -215,7 +215,7 @@ test("vr_android_unittests") {
"//components/webxr:webxr",
"//device/vr:vr_fakes",
"//device/vr/android/arcore",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//mojo/core/embedder",
"//mojo/public/cpp/bindings",
"//services/network:test_support",

@ -249,7 +249,7 @@ component("vr_common") {
public_deps = [
":vr_base",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
]
deps = [
@ -265,7 +265,7 @@ component("vr_common") {
"//device/base",
"//device/vr",
"//device/vr/buildflags:buildflags",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//media",
"//net",
"//services/audio/public/cpp",
@ -391,7 +391,7 @@ component("vr_base") {
"//components/ukm/content",
"//components/url_formatter",
"//content/public/browser",
"//device/vr/public/mojom:mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//media",
"//net",
"//services/metrics/public/cpp:ukm_builders",
@ -628,7 +628,7 @@ if (!is_android) {
"//device/vr:vr",
"//device/vr/buildflags:buildflags",
"//device/vr/orientation",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//device/vr/public/mojom:test_mojom",
]

@ -126,7 +126,7 @@ source_set("browser") {
"//device/bluetooth/public/cpp",
"//device/fido",
"//device/gamepad",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//google_apis",
"//gpu",
"//gpu/command_buffer/client:gles2_implementation",

@ -546,7 +546,7 @@ source_set("browser_sources") {
public_deps += [
"//device/vr/public/cpp",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
]
}
}

@ -28,7 +28,7 @@ source_set("lib") {
"//device/base",
"//device/vr:vr",
"//device/vr:vr_base",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//device/vr/public/mojom:test_mojom",
]
}

@ -91,7 +91,7 @@ source_set("utility") {
if (enable_vr && !is_android) {
deps += [
"//content/services/isolated_xr_device:lib",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
]
}
}

@ -373,7 +373,7 @@ test("device_unittests") {
"//device/vr",
"//device/vr:vr_fakes",
"//device/vr/orientation",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//services/device/public/cpp/generic_sensor",
"//ui/display",
"//ui/display:test_support",

@ -54,7 +54,7 @@ if (enable_vr) {
public_deps = [
":vr_gl_bindings",
"//device/vr/public/cpp",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
]
deps = [
"//base",
@ -91,7 +91,7 @@ if (enable_vr) {
"//components/ukm:ukm",
"//device/base",
"//device/vr/buildflags",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//gpu/ipc/common:interfaces",
"//mojo/public/cpp/bindings",
"//services/device/public/cpp/generic_sensor",
@ -273,7 +273,7 @@ if (enable_vr) {
":vr_base",
"//base",
"//device/vr/orientation",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//mojo/public/cpp/bindings",
"//services/device/public/cpp/generic_sensor",
"//testing/gmock",

@ -19,7 +19,7 @@ component("cpp") {
deps = [
"//base",
"//device/vr/public/mojom",
"//device/vr/public/mojom:isolated_xr_service",
"//mojo/public/cpp/bindings",
]
}

@ -5,14 +5,11 @@
import("//device/vr/buildflags/buildflags.gni")
import("//mojo/public/tools/bindings/mojom.gni")
mojom_component("mojom") {
output_prefix = "device_vr_mojo_bindings"
macro_prefix = "DEVICE_VR_MOJO_BINDINGS"
mojom_component("vr_service") {
output_prefix = "device_vr_service_mojo_bindings"
macro_prefix = "DEVICE_VR_SERVICE_MOJO_BINDINGS"
sources = [
"isolated_xr_service.mojom",
"vr_service.mojom",
]
sources = [ "vr_service.mojom" ]
public_deps = [
":test_mojom",
@ -56,6 +53,27 @@ mojom_component("mojom") {
blink_cpp_typemaps = [ shared_cpp_typemap ]
}
# Separating the public mojom interface into vr_service and isolated_xr_service
# components allows us to add dependencies to isolated_xr_service without having
# a blink variant. The blink variant tends to cause problematic, unresolved externals.
mojom_component("isolated_xr_service") {
output_prefix = "device_vr_isolated_xr_service_mojo_bindings"
macro_prefix = "DEVICE_VR_ISOLATED_XR_SERVICE_MOJO_BINDINGS"
sources = [ "isolated_xr_service.mojom" ]
disable_variants = true
public_deps = [
":test_mojom",
":vr_service",
"//gpu/ipc/common:interfaces",
"//mojo/public/mojom/base",
"//skia/public/mojom",
"//ui/gfx/geometry/mojom",
]
}
mojom_component("test_mojom") {
output_prefix = "device_vr_test_mojo_bindings"
macro_prefix = "DEVICE_VR_TEST_MOJO_BINDINGS"

@ -211,7 +211,7 @@ group("generate_mojo_bindings") {
deps = [
"//device/gamepad/public/mojom:mojom_blink_headers",
"//device/vr/public/mojom:mojom_blink_headers",
"//device/vr/public/mojom:vr_service_blink_headers",
"//media/capture/mojom:image_capture_blink_headers",
"//media/midi:mojo_blink_headers",
"//services/device/public/mojom:generic_sensor_headers",

@ -172,7 +172,7 @@ blink_modules_sources("webgl") {
# include the core pch for faster Windows compilation times.
configs += [ "//third_party/blink/renderer/core:blink_core_pch" ]
public_deps = [ "//device/vr/public/mojom:mojom_blink" ]
public_deps = [ "//device/vr/public/mojom:vr_service_blink" ]
deps = [ "//third_party/blink/renderer/modules/xr:xr" ]
allow_circular_includes_from = deps
}

@ -108,7 +108,7 @@ blink_modules_sources("xr") {
]
deps = [
"//device/vr/public/mojom:mojom_blink",
"//device/vr/public/mojom:vr_service_blink",
"//services/metrics/public/cpp:ukm_builders",
]

@ -1624,7 +1624,7 @@ component("platform") {
"//components/viz/client",
"//components/viz/common",
"//crypto",
"//device/vr/public/mojom:mojom_blink",
"//device/vr/public/mojom:vr_service_blink",
"//gin",
"//gpu:gpu",
"//gpu/command_buffer/client:webgpu_interface",

@ -76,7 +76,7 @@ group("wpt_tests_mojo_bindings") {
data_deps = [
":wpt_tests_base_mojo_bindings",
"//device/bluetooth/public/mojom:fake_bluetooth_interfaces_js_data_deps",
"//device/vr/public/mojom:mojom_js_data_deps",
"//device/vr/public/mojom:vr_service_js_data_deps",
"//media/capture/mojom:image_capture_js_data_deps",
"//media/midi:mojo_js_data_deps",
"//services/device/public/mojom:generic_sensor_js_data_deps",