Prefer OpenXR for desktop XR policy

This commit is contained in:
2026-06-05 16:06:52 +02:00
parent 308fb13075
commit bdd7a32ff5
8 changed files with 149 additions and 20 deletions

View File

@@ -913,6 +913,39 @@ void platform_policy_preserves_recording_and_export_storage_rules(pp::tests::Har
PP_EXPECT(harness, !pp::platform::platform_flushes_persistent_storage(pp::platform::PlatformFamily::windows));
}
void platform_policy_prefers_openxr_and_marks_openvr_fallback(pp::tests::Harness& harness)
{
const auto openxr = pp::platform::select_desktop_xr_runtime(
true,
true,
true);
PP_EXPECT(harness, openxr.backend == pp::platform::XrRuntimeBackend::openxr);
PP_EXPECT(harness, !openxr.uses_legacy_openvr_fallback);
PP_EXPECT(
harness,
std::string_view(pp::platform::xr_runtime_backend_name(openxr.backend)) == "openxr");
const auto retained_openvr = pp::platform::select_desktop_xr_runtime(
false,
true,
true);
PP_EXPECT(harness, retained_openvr.backend == pp::platform::XrRuntimeBackend::openvr);
PP_EXPECT(harness, retained_openvr.uses_legacy_openvr_fallback);
PP_EXPECT(
harness,
std::string_view(pp::platform::xr_runtime_backend_name(retained_openvr.backend)) == "openvr");
const auto unsupported = pp::platform::select_desktop_xr_runtime(
false,
true,
false);
PP_EXPECT(harness, unsupported.backend == pp::platform::XrRuntimeBackend::none);
PP_EXPECT(harness, !unsupported.uses_legacy_openvr_fallback);
PP_EXPECT(
harness,
std::string_view(pp::platform::xr_runtime_backend_name(unsupported.backend)) == "none");
}
void platform_policy_preserves_document_browse_roots(pp::tests::Harness& harness)
{
const auto ios_roots = pp::platform::platform_document_browse_roots(
@@ -1053,6 +1086,9 @@ int main()
harness.run(
"platform policy preserves recording and export storage rules",
platform_policy_preserves_recording_and_export_storage_rules);
harness.run(
"platform policy prefers OpenXR and marks OpenVR fallback",
platform_policy_prefers_openxr_and_marks_openvr_fallback);
harness.run("platform policy preserves document browse roots", platform_policy_preserves_document_browse_roots);
harness.run(
"platform policy preserves picker and prepared file rules",