Module script::dom::bindings::import::module

source ·



  • Utilities for comparing and ordering values.
  • High-level, safe bindings for JS typed array APIs. Allows creating new typed arrays or wrapping existing JS reflectors, and prevents reinterpreting existing buffers as different types except in well-defined cases.


  • A convenience macro for accessing a preference value using its static path. Passing an invalid path is a compile-time error.


  • A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the middle.
  • An RAII guard used to root underlying data in CustomAutoRooter until the guard is dropped (falls out of scope). The underlying data can be accessed through this guard via its Deref and DerefMut implementations. This structure is created by root method on CustomAutoRooter or by the auto_root! macro.
  • A class, expected to be passed by value, which represents the CallArgs for a JSJitGetterOp.
  • This struct contains metadata passed from the DOM to the JS Engine for JIT optimizations on DOM property accessors.
  • A class, expected to be passed by value, which represents the CallArgs for a JSJitSetterOp.
  • Wrapper to relace JSNative for JSPropertySpecs and JSFunctionSpecs. This will allow us to pass one JSJitInfo per function with the property/function spec, without additional field overhead.
  • Description of a property. JS_DefineProperties and JS_InitClass take arrays of these and define many properties at once. JS_PSG, JS_PSGS and JS_PS_END are helper macros for defining such arrays.
  • *mut T but non-zero and covariant.
  • Per ES6, the [[DefineOwnProperty]] internal method has three different possible outcomes:
  • A structure that represents a property on an object, or the absence of a property. Use {,Mutable}Handle to interact with instances of this structure rather than interacting directly with member fields.
  • Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
  • Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
  • Rust API for keeping a Rooted value in the context’s root stack. Example usage: rooted!(in(cx) let x = UndefinedValue());. RootedGuard::new also works, but the macro is preferred.






Type Aliases§