script::dom::bindings::inheritance

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.

Object Safety§

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 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