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

Trait Castable

Source
pub(crate) trait Castable:
    Sized
    + IDLInterface
    + DomObject {
    // Provided methods
    fn is<T>(&self) -> bool
       where T: DerivedFrom<Self> { ... }
    fn upcast<T>(&self) -> &T
       where T: Castable,
             Self: DerivedFrom<T> { ... }
    fn downcast<T>(&self) -> Option<&T>
       where T: DerivedFrom<Self> { ... }
}
Expand description

A trait to hold the cast functions of IDL interfaces that either derive or are derived from other interfaces.

Provided Methods§

Source

fn is<T>(&self) -> bool
where T: DerivedFrom<Self>,

Check whether a DOM object implements one of its deriving interfaces.

Source

fn upcast<T>(&self) -> &T
where T: Castable, Self: DerivedFrom<T>,

Cast a DOM object upwards to one of the interfaces it derives from.

Source

fn downcast<T>(&self) -> Option<&T>
where T: DerivedFrom<Self>,

Cast a DOM object downwards to one of the interfaces it might implement.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl Castable for AbstractRange

§

impl Castable for AnalyserNode

§

impl Castable for AnimationEvent

§

impl Castable for Attr

§

impl Castable for AudioBufferSourceNode

§

impl Castable for AudioContext

§

impl Castable for AudioDestinationNode

§

impl Castable for AudioNode

§

impl Castable for AudioScheduledSourceNode

§

impl Castable for AudioTrackList

§

impl Castable for BaseAudioContext

§

impl Castable for BeforeUnloadEvent

§

impl Castable for BiquadFilterNode

§

impl Castable for Blob

§

impl Castable for Bluetooth

§

impl Castable for BluetoothAdvertisingEvent

§

impl Castable for BluetoothDevice

§

impl Castable for BluetoothPermissionResult

§

impl Castable for BluetoothRemoteGATTCharacteristic

§

impl Castable for BluetoothRemoteGATTService

§

impl Castable for BroadcastChannel

§

impl Castable for CDATASection

§

impl Castable for ChannelMergerNode

§

impl Castable for ChannelSplitterNode

§

impl Castable for CharacterData

§

impl Castable for ClipboardEvent

§

impl Castable for CloseEvent

§

impl Castable for Comment

§

impl Castable for CompositionEvent

§

impl Castable for ConstantSourceNode

§

impl Castable for CSSConditionRule

§

impl Castable for CSSFontFaceRule

§

impl Castable for CSSGroupingRule

§

impl Castable for CSSImportRule

§

impl Castable for CSSKeyframeRule

§

impl Castable for CSSKeyframesRule

§

impl Castable for CSSLayerBlockRule

§

impl Castable for CSSLayerStatementRule

§

impl Castable for CSSMediaRule

§

impl Castable for CSSNamespaceRule

§

impl Castable for CSSRule

§

impl Castable for CSSStyleRule

§

impl Castable for CSSStyleSheet

§

impl Castable for CSSSupportsRule

§

impl Castable for CustomEvent

§

impl Castable for DedicatedWorkerGlobalScope

§

impl Castable for DissimilarOriginWindow

§

impl Castable for Document

§

impl Castable for DocumentFragment

§

impl Castable for DocumentType

§

impl Castable for DOMException

§

impl Castable for DOMMatrix

§

impl Castable for DOMMatrixReadOnly

§

impl Castable for DOMPoint

§

impl Castable for DOMPointReadOnly

§

impl Castable for DOMRect

§

impl Castable for DOMRectReadOnly

§

impl Castable for Element

§

impl Castable for ErrorEvent

§

impl Castable for Event

§

impl Castable for EventSource

§

impl Castable for EventTarget

§

impl Castable for ExtendableEvent

§

impl Castable for ExtendableMessageEvent

§

impl Castable for File

§

impl Castable for FileReader

§

impl Castable for FocusEvent

§

impl Castable for FontFaceSet

§

impl Castable for FormDataEvent

§

impl Castable for GainNode

§

impl Castable for GamepadEvent

§

impl Castable for GlobalScope

§

impl Castable for HashChangeEvent

§

impl Castable for HTMLAnchorElement

§

impl Castable for HTMLAreaElement

§

impl Castable for HTMLAudioElement

§

impl Castable for HTMLBaseElement

§

impl Castable for HTMLBodyElement

§

impl Castable for HTMLBRElement

§

impl Castable for HTMLButtonElement

§

impl Castable for HTMLCanvasElement

§

impl Castable for HTMLCollection

§

impl Castable for HTMLDataElement

§

impl Castable for HTMLDataListElement

§

impl Castable for HTMLDetailsElement

§

impl Castable for HTMLDialogElement

§

impl Castable for HTMLDirectoryElement

§

impl Castable for HTMLDivElement

§

impl Castable for HTMLDListElement

§

impl Castable for HTMLElement

§

impl Castable for HTMLEmbedElement

§

impl Castable for HTMLFieldSetElement

§

impl Castable for HTMLFontElement

§

impl Castable for HTMLFormControlsCollection

§

impl Castable for HTMLFormElement

§

impl Castable for HTMLFrameElement

§

impl Castable for HTMLFrameSetElement

§

impl Castable for HTMLHeadElement

§

impl Castable for HTMLHeadingElement

§

impl Castable for HTMLHRElement

§

impl Castable for HTMLHtmlElement

§

impl Castable for HTMLIFrameElement

§

impl Castable for HTMLImageElement

§

impl Castable for HTMLInputElement

§

impl Castable for HTMLLabelElement

§

impl Castable for HTMLLegendElement

§

impl Castable for HTMLLIElement

§

impl Castable for HTMLLinkElement

§

impl Castable for HTMLMapElement

§

impl Castable for HTMLMediaElement

§

impl Castable for HTMLMenuElement

§

impl Castable for HTMLMetaElement

§

impl Castable for HTMLMeterElement

§

impl Castable for HTMLModElement

§

impl Castable for HTMLObjectElement

§

impl Castable for HTMLOListElement

§

impl Castable for HTMLOptGroupElement

§

impl Castable for HTMLOptionElement

§

impl Castable for HTMLOptionsCollection

§

impl Castable for HTMLOutputElement

§

impl Castable for HTMLParagraphElement

§

impl Castable for HTMLParamElement

§

impl Castable for HTMLPictureElement

§

impl Castable for HTMLPreElement

§

impl Castable for HTMLProgressElement

§

impl Castable for HTMLQuoteElement

§

impl Castable for HTMLScriptElement

§

impl Castable for HTMLSelectElement

§

impl Castable for HTMLSlotElement

§

impl Castable for HTMLSourceElement

§

impl Castable for HTMLSpanElement

§

impl Castable for HTMLStyleElement

§

impl Castable for HTMLTableCaptionElement

§

impl Castable for HTMLTableCellElement

§

impl Castable for HTMLTableColElement

§

impl Castable for HTMLTableElement

§

impl Castable for HTMLTableRowElement

§

impl Castable for HTMLTableSectionElement

§

impl Castable for HTMLTemplateElement

§

impl Castable for HTMLTextAreaElement

§

impl Castable for HTMLTimeElement

§

impl Castable for HTMLTitleElement

§

impl Castable for HTMLTrackElement

§

impl Castable for HTMLUListElement

§

impl Castable for HTMLUnknownElement

§

impl Castable for HTMLVideoElement

§

impl Castable for IIRFilterNode

§

impl Castable for InputEvent

§

impl Castable for KeyboardEvent

§

impl Castable for MediaDevices

§

impl Castable for MediaElementAudioSourceNode

§

impl Castable for MediaQueryList

§

impl Castable for MediaQueryListEvent

§

impl Castable for MediaStream

§

impl Castable for MediaStreamAudioDestinationNode

§

impl Castable for MediaStreamAudioSourceNode

§

impl Castable for MediaStreamTrack

§

impl Castable for MediaStreamTrackAudioSourceNode

§

impl Castable for MessageEvent

§

impl Castable for MessagePort

§

impl Castable for MouseEvent

§

impl Castable for Node

§

impl Castable for NodeList

§

impl Castable for Notification

§

impl Castable for OfflineAudioCompletionEvent

§

impl Castable for OfflineAudioContext

§

impl Castable for OffscreenCanvas

§

impl Castable for OscillatorNode

§

impl Castable for PageTransitionEvent

§

impl Castable for PaintWorkletGlobalScope

§

impl Castable for PannerNode

§

impl Castable for Performance

§

impl Castable for PerformanceEntry

§

impl Castable for PerformanceMark

§

impl Castable for PerformanceMeasure

§

impl Castable for PerformanceNavigationTiming

§

impl Castable for PerformancePaintTiming

§

impl Castable for PerformanceResourceTiming

§

impl Castable for PermissionStatus

§

impl Castable for PointerEvent

§

impl Castable for PopStateEvent

§

impl Castable for ProcessingInstruction

§

impl Castable for ProgressEvent

§

impl Castable for PromiseRejectionEvent

§

impl Castable for RadioNodeList

§

impl Castable for Range

§

impl Castable for RTCDataChannel

§

impl Castable for RTCDataChannelEvent

§

impl Castable for RTCError

§

impl Castable for RTCErrorEvent

§

impl Castable for RTCPeerConnection

§

impl Castable for RTCPeerConnectionIceEvent

§

impl Castable for RTCTrackEvent

§

impl Castable for SecurityPolicyViolationEvent

§

impl Castable for ServiceWorker

§

impl Castable for ServiceWorkerContainer

§

impl Castable for ServiceWorkerGlobalScope

§

impl Castable for ServiceWorkerRegistration

§

impl Castable for ShadowRoot

§

impl Castable for StaticRange

§

impl Castable for StereoPannerNode

§

impl Castable for StorageEvent

§

impl Castable for StyleSheet

§

impl Castable for SubmitEvent

§

impl Castable for SVGElement

§

impl Castable for SVGGraphicsElement

§

impl Castable for SVGSVGElement

§

impl Castable for TestBinding

§

impl Castable for TestBindingProxy

§

impl Castable for TestWorkletGlobalScope

§

impl Castable for Text

§

impl Castable for TextTrack

§

impl Castable for TextTrackCue

§

impl Castable for TextTrackList

§

impl Castable for TouchEvent

§

impl Castable for TrackEvent

§

impl Castable for TransitionEvent

§

impl Castable for UIEvent

§

impl Castable for VideoTrackList

§

impl Castable for VisibilityStateEntry

§

impl Castable for VTTCue

§

impl Castable for WebGLBuffer

§

impl Castable for WebGLContextEvent

§

impl Castable for WebGLFramebuffer

§

impl Castable for WebGLObject

§

impl Castable for WebGLProgram

§

impl Castable for WebGLQuery

§

impl Castable for WebGLRenderbuffer

§

impl Castable for WebGLSampler

§

impl Castable for WebGLShader

§

impl Castable for WebGLSync

§

impl Castable for WebGLTexture

§

impl Castable for WebGLTransformFeedback

§

impl Castable for WebGLVertexArrayObject

§

impl Castable for WebGLVertexArrayObjectOES

§

impl Castable for GPUDevice

§

impl Castable for GPUError

§

impl Castable for GPUInternalError

§

impl Castable for GPUOutOfMemoryError

§

impl Castable for GPUPipelineError

§

impl Castable for GPUUncapturedErrorEvent

§

impl Castable for GPUValidationError

§

impl Castable for WebSocket

§

impl Castable for XRBoundedReferenceSpace

§

impl Castable for XRCompositionLayer

§

impl Castable for XRCubeLayer

§

impl Castable for XRCylinderLayer

§

impl Castable for XREquirectLayer

§

impl Castable for XRInputSourceEvent

§

impl Castable for XRInputSourcesChangeEvent

§

impl Castable for XRJointPose

§

impl Castable for XRJointSpace

§

impl Castable for XRLayer

§

impl Castable for XRLayerEvent

§

impl Castable for XRPose

§

impl Castable for XRProjectionLayer

§

impl Castable for XRQuadLayer

§

impl Castable for XRReferenceSpace

§

impl Castable for XRReferenceSpaceEvent

§

impl Castable for XRSession

§

impl Castable for XRSessionEvent

§

impl Castable for XRSpace

§

impl Castable for XRSubImage

§

impl Castable for XRSystem

§

impl Castable for XRViewerPose

§

impl Castable for XRWebGLLayer

§

impl Castable for XRWebGLSubImage

§

impl Castable for WheelEvent

§

impl Castable for Window

§

impl Castable for Worker

§

impl Castable for WorkerGlobalScope

§

impl Castable for WorkletGlobalScope

§

impl Castable for XMLDocument

§

impl Castable for XMLHttpRequest

§

impl Castable for XMLHttpRequestEventTarget

§

impl Castable for XMLHttpRequestUpload