aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrinputsourcearray.rs
diff options
context:
space:
mode:
authorDaniel Adams <70986246+msub2@users.noreply.github.com>2024-09-12 01:52:16 +0000
committerGitHub <noreply@github.com>2024-09-12 01:52:16 +0000
commit08a4d751d7762fa36490998ba17bf3eece8d9bef (patch)
treee375d340cfad52290492f68d9ca69ba17b9dc8d2 /components/script/dom/xrinputsourcearray.rs
parentd9be9d6bd464c664e7ddad86937a9aa54a6c7baf (diff)
downloadservo-08a4d751d7762fa36490998ba17bf3eece8d9bef.tar.gz
servo-08a4d751d7762fa36490998ba17bf3eece8d9bef.zip
webxr: Update XRInputSource Gamepad handling, FakeXRInputController (#33403)
* Disconnect XRInputSource gamepads on removal Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update Cargo.lock Signed-off-by: Daniel Adams <msub2official@gmail.com> * Comments, adjustments Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
Diffstat (limited to 'components/script/dom/xrinputsourcearray.rs')
-rw-r--r--components/script/dom/xrinputsourcearray.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/components/script/dom/xrinputsourcearray.rs b/components/script/dom/xrinputsourcearray.rs
index c2f15361738..0dd800336f5 100644
--- a/components/script/dom/xrinputsourcearray.rs
+++ b/components/script/dom/xrinputsourcearray.rs
@@ -69,6 +69,7 @@ impl XRInputSourceArray {
let mut input_sources = self.input_sources.borrow_mut();
let global = self.global();
let removed = if let Some(i) = input_sources.iter().find(|i| i.id() == id) {
+ i.gamepad().update_connected(false, false);
[DomRoot::from_ref(&**i)]
} else {
return;
@@ -94,6 +95,7 @@ impl XRInputSourceArray {
let global = self.global();
let root;
let removed = if let Some(i) = input_sources.iter().find(|i| i.id() == id) {
+ i.gamepad().update_connected(false, false);
root = [DomRoot::from_ref(&**i)];
&root as &[_]
} else {