Skip to main content

script_webgpu/
lib.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5#![cfg_attr(crown, feature(register_tool))]
6// Register the linter `crown`, which is the Servo-specific linter for the script crate.
7#![cfg_attr(crown, register_tool(crown))]
8
9pub mod gpuadapterinfo;
10pub mod gpubufferusage;
11pub mod gpucommandbuffer;
12pub mod gpucompilationinfo;
13pub mod gpucompilationmessage;
14pub mod gpudevicelostinfo;
15pub mod gpumapmode;
16pub mod gpurenderbundle;
17pub mod gpushaderstage;
18pub mod gputextureusage;
19pub mod identityhub;
20
21pub(crate) use js::gc::Traceable as JSTraceable;
22pub(crate) use jstraceable_derive::JSTraceable;
23pub(crate) use script_bindings::reflector::{DomObject, MutDomObject, Reflector};
24
25pub(crate) use crate::dom::bindings::inheritance::HasParent;
26
27// Reexports
28pub(crate) mod dom {
29    pub(crate) mod types {}
30    pub(crate) mod bindings {
31        pub(crate) use script_bindings::*;
32    }
33}
34
35/// Generated JS-Rust bindings.
36#[allow(missing_docs, non_snake_case)]
37pub(crate) mod codegen {
38    #[expect(unused)]
39    pub(crate) mod Bindings {
40        use std::ptr;
41
42        use js::context::JSContext;
43        use js::gc::HandleObject;
44        pub(crate) use script_bindings::DomTypes;
45        use script_bindings::conversions::IDLInterface;
46        use script_bindings::reflector::DomObjectWrap;
47        pub(crate) use script_bindings::reflector::Reflector;
48        use script_bindings::root::{Dom, DomRoot, Root};
49        use script_bindings::utils::DOMClass;
50
51        use crate::gpuadapterinfo::GPUAdapterInfo;
52        use crate::gpubufferusage::GPUBufferUsage;
53        use crate::gpucommandbuffer::GPUCommandBuffer;
54        use crate::gpucompilationinfo::GPUCompilationInfo;
55        use crate::gpucompilationmessage::GPUCompilationMessage;
56        use crate::gpudevicelostinfo::GPUDeviceLostInfo;
57        use crate::gpumapmode::GPUMapMode;
58        use crate::gpurenderbundle::GPURenderBundle;
59        use crate::gpushaderstage::GPUShaderStage;
60        use crate::gputextureusage::GPUTextureUsage;
61        include!(concat!(
62            env!("OUT_DIR"),
63            "/ConcreteBindings/WebGPUBinding.rs"
64        ));
65    }
66}