pub trait CryptoMethods<D>where
    D: DomTypes,{
    // Required methods
    fn Subtle(&self, _can_gc: CanGc) -> Root<Dom<<D as DomTypes>::SubtleCrypto>>;
    fn GetRandomValues(
        &self,
        cx: JSContext,
        array: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
    ) -> Result<TypedArray<ArrayBufferViewU8, *mut JSObject>, Error>;
    fn RandomUUID(&self) -> DOMString;
}