mozilla::ipc::IPCResult VRManagerParent::RecvCreateVRServiceTestDisplay(const nsCString& aID, const uint32_t& aPromiseID) { nsTArray<VRDisplayInfo> displayInfoArray; impl::VRDisplayPuppet* displayPuppet = nullptr; VRManager* vm = VRManager::Get(); vm->RefreshVRDisplays(); // Get VRDisplayPuppet from VRManager vm->GetVRDisplayInfo(displayInfoArray); for (auto& displayInfo : displayInfoArray) { if (displayInfo.GetType() == VRDeviceType::Puppet) { displayPuppet = static_cast<impl::VRDisplayPuppet*>( vm->GetDisplay(displayInfo.GetDisplayID()).get()); break; } } MOZ_ASSERT(displayPuppet); MOZ_ASSERT(!mDisplayTestID); // We have only one display in VRSystemManagerPuppet. if (!mVRDisplayTests.Get(mDisplayTestID, nullptr)) { mVRDisplayTests.Put(mDisplayTestID, displayPuppet); } if (SendReplyCreateVRServiceTestDisplay(aID, aPromiseID, mDisplayTestID)) { return IPC_OK(); } return IPC_FAIL(this, "SendReplyCreateVRServiceTestController fail"); }
bool VRManagerParent::RecvGetDisplays(nsTArray<VRDisplayInfo> *aDisplays) { VRManager* vm = VRManager::Get(); vm->GetVRDisplayInfo(*aDisplays); return true; }
mozilla::ipc::IPCResult VRManagerParent::RecvGetDisplays(nsTArray<VRDisplayInfo> *aDisplays) { VRManager* vm = VRManager::Get(); vm->GetVRDisplayInfo(*aDisplays); return IPC_OK(); }