pub trait SubtleCryptoMethods {
// Required methods
fn Encrypt(
&self,
cx: SafeJSContext,
algorithm: ObjectOrString,
key: &CryptoKey,
data: ArrayBufferViewOrArrayBuffer,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<Promise>;
fn Decrypt(
&self,
cx: SafeJSContext,
algorithm: ObjectOrString,
key: &CryptoKey,
data: ArrayBufferViewOrArrayBuffer,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<Promise>;
fn GenerateKey(
&self,
cx: SafeJSContext,
algorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<Promise>;
fn ImportKey(
&self,
cx: SafeJSContext,
format: KeyFormat,
keyData: ArrayBufferViewOrArrayBufferOrJsonWebKey,
algorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<Promise>;
fn ExportKey(
&self,
format: KeyFormat,
key: &CryptoKey,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<Promise>;
}