aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrsessionevent.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2024-11-24 13:01:35 -0500
committerGitHub <noreply@github.com>2024-11-24 18:01:35 +0000
commit3faed9b9212fee1f0ff9be5f7cfb5e24c5b84b91 (patch)
treef59efff26edc58b9cd32c08da070a6e27655ae82 /components/script/dom/xrsessionevent.rs
parente956f3124c230549c6ef4a63e2c27e56d0965453 (diff)
downloadservo-3faed9b9212fee1f0ff9be5f7cfb5e24c5b84b91.tar.gz
servo-3faed9b9212fee1f0ff9be5f7cfb5e24c5b84b91.zip
Filter out webidl files based on special comments, and feature-gate webxr interfaces. (#34348)
* Filter out webidl files based on skip-if directives. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Don't build XR functionality without webxr feature. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Fix tidy. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Adjust imports for file movement. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Fix clippy. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Formatting. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Clean up webxr module import. Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com> Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net> Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
Diffstat (limited to 'components/script/dom/xrsessionevent.rs')
-rw-r--r--components/script/dom/xrsessionevent.rs100
1 files changed, 0 insertions, 100 deletions
diff --git a/components/script/dom/xrsessionevent.rs b/components/script/dom/xrsessionevent.rs
deleted file mode 100644
index fda299a9f2a..00000000000
--- a/components/script/dom/xrsessionevent.rs
+++ /dev/null
@@ -1,100 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
-
-use dom_struct::dom_struct;
-use js::rust::HandleObject;
-use servo_atoms::Atom;
-
-use crate::dom::bindings::codegen::Bindings::EventBinding::Event_Binding::EventMethods;
-use crate::dom::bindings::codegen::Bindings::XRSessionEventBinding::{self, XRSessionEventMethods};
-use crate::dom::bindings::error::Fallible;
-use crate::dom::bindings::inheritance::Castable;
-use crate::dom::bindings::reflector::{reflect_dom_object_with_proto, DomObject};
-use crate::dom::bindings::root::{Dom, DomRoot};
-use crate::dom::bindings::str::DOMString;
-use crate::dom::event::Event;
-use crate::dom::globalscope::GlobalScope;
-use crate::dom::window::Window;
-use crate::dom::xrsession::XRSession;
-use crate::script_runtime::CanGc;
-
-#[dom_struct]
-pub struct XRSessionEvent {
- event: Event,
- session: Dom<XRSession>,
-}
-
-impl XRSessionEvent {
- #[allow(crown::unrooted_must_root)]
- fn new_inherited(session: &XRSession) -> XRSessionEvent {
- XRSessionEvent {
- event: Event::new_inherited(),
- session: Dom::from_ref(session),
- }
- }
-
- pub fn new(
- global: &GlobalScope,
- type_: Atom,
- bubbles: bool,
- cancelable: bool,
- session: &XRSession,
- can_gc: CanGc,
- ) -> DomRoot<XRSessionEvent> {
- Self::new_with_proto(global, None, type_, bubbles, cancelable, session, can_gc)
- }
-
- fn new_with_proto(
- global: &GlobalScope,
- proto: Option<HandleObject>,
- type_: Atom,
- bubbles: bool,
- cancelable: bool,
- session: &XRSession,
- can_gc: CanGc,
- ) -> DomRoot<XRSessionEvent> {
- let trackevent = reflect_dom_object_with_proto(
- Box::new(XRSessionEvent::new_inherited(session)),
- global,
- proto,
- can_gc,
- );
- {
- let event = trackevent.upcast::<Event>();
- event.init_event(type_, bubbles, cancelable);
- }
- trackevent
- }
-}
-
-impl XRSessionEventMethods<crate::DomTypeHolder> for XRSessionEvent {
- // https://immersive-web.github.io/webxr/#dom-xrsessionevent-xrsessionevent
- fn Constructor(
- window: &Window,
- proto: Option<HandleObject>,
- can_gc: CanGc,
- type_: DOMString,
- init: &XRSessionEventBinding::XRSessionEventInit,
- ) -> Fallible<DomRoot<XRSessionEvent>> {
- Ok(XRSessionEvent::new_with_proto(
- &window.global(),
- proto,
- Atom::from(type_),
- init.parent.bubbles,
- init.parent.cancelable,
- &init.session,
- can_gc,
- ))
- }
-
- // https://immersive-web.github.io/webxr/#dom-xrsessioneventinit-session
- fn Session(&self) -> DomRoot<XRSession> {
- DomRoot::from_ref(&*self.session)
- }
-
- // https://dom.spec.whatwg.org/#dom-event-istrusted
- fn IsTrusted(&self) -> bool {
- self.event.IsTrusted()
- }
-}