Re-exports§
pub use crate::dom::bindings::codegen::Bindings::AnalyserNodeBinding::AnalyserOptions;
pub use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::AudioNode_Binding;
pub use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::ChannelCountMode;
pub use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::ChannelCountModeValues;
pub use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::ChannelInterpretation;
pub use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::ChannelInterpretationValues;
pub use crate::dom::bindings::codegen::Bindings::EventTargetBinding::EventTarget_Binding;
pub use crate::dom::bindings::codegen::InterfaceObjectMap;
pub use crate::dom::bindings::codegen::PrototypeList;
pub use crate::dom::bindings::codegen::RegisterBindings;
pub use crate::dom::bindings::constant::ConstantSpec;
pub use crate::dom::bindings::constant::ConstantVal;
pub use crate::dom::bindings::constructor::call_default_constructor;
pub use crate::dom::bindings::constructor::call_html_constructor;
pub use crate::dom::bindings::constructor::pop_current_element_queue;
pub use crate::dom::bindings::constructor::push_new_element_queue;
pub use crate::dom::bindings::conversions::is_array_like;
pub use crate::dom::bindings::conversions::jsid_to_string;
pub use crate::dom::bindings::conversions::native_from_handlevalue;
pub use crate::dom::bindings::conversions::native_from_object_static;
pub use crate::dom::bindings::conversions::IDLInterface;
pub use crate::dom::bindings::conversions::StringificationBehavior;
pub use crate::dom::bindings::conversions::DOM_OBJECT_SLOT;
pub use crate::dom::bindings::error::throw_constructor_without_new;
pub use crate::dom::bindings::error::Error;
pub use crate::dom::bindings::error::ErrorResult;
pub use crate::dom::bindings::finalize::finalize_common;
pub use crate::dom::bindings::finalize::finalize_global;
pub use crate::dom::bindings::finalize::finalize_weak_referenceable;
pub use crate::dom::bindings::guard::Condition;
pub use crate::dom::bindings::guard::Guard;
pub use crate::dom::bindings::inheritance::Castable;
pub use crate::dom::bindings::interface::create_callback_interface_object;
pub use crate::dom::bindings::interface::create_global_object;
pub use crate::dom::bindings::interface::create_interface_prototype_object;
pub use crate::dom::bindings::interface::create_named_constructors;
pub use crate::dom::bindings::interface::create_noncallback_interface_object;
pub use crate::dom::bindings::interface::define_dom_interface;
pub use crate::dom::bindings::interface::define_guarded_methods;
pub use crate::dom::bindings::interface::define_guarded_properties;
pub use crate::dom::bindings::interface::get_desired_proto;
pub use crate::dom::bindings::interface::get_per_interface_object_handle;
pub use crate::dom::bindings::interface::is_exposed_in;
pub use crate::dom::bindings::interface::ConstructorClassHook;
pub use crate::dom::bindings::interface::InterfaceConstructorBehavior;
pub use crate::dom::bindings::interface::NonCallbackInterfaceObjectClass;
pub use crate::dom::bindings::interface::ProtoOrIfaceIndex;
pub use crate::dom::bindings::iterable::Iterable;
pub use crate::dom::bindings::iterable::IteratorType;
pub use crate::dom::bindings::like::Maplike;
pub use crate::dom::bindings::like::Setlike;
pub use crate::dom::bindings::namespace::create_namespace_object;
pub use crate::dom::bindings::namespace::NamespaceObjectClass;
pub use crate::dom::bindings::proxyhandler;
pub use crate::dom::bindings::proxyhandler::ensure_expando_object;
pub use crate::dom::bindings::proxyhandler::get_expando_object;
pub use crate::dom::bindings::proxyhandler::set_property_descriptor;
pub use crate::dom::bindings::record::Record;
pub use crate::dom::bindings::reflector::DomObjectIteratorWrap;
pub use crate::dom::bindings::reflector::DomObjectWrap;
pub use crate::dom::bindings::reflector::Reflector;
pub use crate::dom::bindings::root::Dom;
pub use crate::dom::bindings::root::DomSlice;
pub use crate::dom::bindings::root::MaybeUnreflectedDom;
pub use crate::dom::bindings::root::Root;
pub use crate::dom::bindings::utils::enumerate_global;
pub use crate::dom::bindings::utils::exception_to_promise;
pub use crate::dom::bindings::utils::generic_getter;
pub use crate::dom::bindings::utils::generic_lenient_getter;
pub use crate::dom::bindings::utils::generic_lenient_setter;
pub use crate::dom::bindings::utils::generic_method;
pub use crate::dom::bindings::utils::generic_setter;
pub use crate::dom::bindings::utils::generic_static_promise_method;
pub use crate::dom::bindings::utils::get_array_index_from_id;
pub use crate::dom::bindings::utils::get_property_on_prototype;
pub use crate::dom::bindings::utils::has_property_on_prototype;
pub use crate::dom::bindings::utils::resolve_global;
pub use crate::dom::bindings::utils::trace_global;
pub use crate::dom::bindings::utils::AsVoidPtr;
pub use crate::dom::bindings::utils::DOMClass;
pub use crate::dom::bindings::utils::DOMJSClass;
pub use crate::dom::bindings::utils::ProtoOrIfaceArray;
pub use crate::dom::bindings::utils::DOM_PROTO_UNFORGEABLE_HOLDER_SLOT;
pub use crate::dom::bindings::utils::JSCLASS_DOM_GLOBAL;
pub use crate::dom::bindings::weakref::WeakReferenceable;
pub use crate::dom::bindings::weakref::DOM_WEAK_SLOT;
pub use crate::dom::types::AnalyserNode;
pub use crate::dom::types::AudioNode;
pub use crate::dom::types::BaseAudioContext;
pub use crate::dom::types::EventTarget;
pub use crate::mem::malloc_size_of_including_raw_self;
pub use crate::realms::AlreadyInRealm;
pub use crate::realms::InRealm;
pub use crate::script_runtime::CanGc;
pub use super::base::*;
Modules§
- 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.
Macros§
- A convenience macro for accessing a preference value using its static path. Passing an invalid path is a compile-time error.
Structs§
- 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 byroot
method onCustomAutoRooter
or by theauto_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.
Enums§
- An enum that describes what this getter/setter/method aliases. This determines what things can be hoisted past this call, and if this call is movable what it can be hoisted past.
Constants§
- The property is visible in for/in loops.
- The property is non-configurable: it can’t be deleted, and if it’s an accessor descriptor, its getter and setter can’t be changed.
- The property is non-writable. This flag is only valid for data properties.
Statics§
Traits§
- A trait for types which can place appropriate GC barriers.
- A trait to allow tracing (only) DOM objects. Types that can be traced.
- A trait to convert Rust types to
JSVal
s.
Functions§
- Call⚠
- Get one of the well-known symbols defined by ES6. A single set of well-known symbols is shared by all compartments in a JSRuntime.
- Get the value of the property
obj[id]
, or undefined if no such property exists. This is the C++ equivalent ofvp = Reflect.get(obj, id, receiver)
. - Compute the expression
id in obj
. - Creates a new plain object, like
new Object()
, with Object.prototype as [[Prototype]]. - Generic wrapper for JS engine callbacks panic-catching
Type Aliases§
- 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.
- 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.
- Similar to a handle, but the underlying storage can be changed. This is useful for outparams.