aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/cryptokey.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/cryptokey.rs')
-rw-r--r--components/script/dom/cryptokey.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/components/script/dom/cryptokey.rs b/components/script/dom/cryptokey.rs
index cf0e287e518..18ef073b9ac 100644
--- a/components/script/dom/cryptokey.rs
+++ b/components/script/dom/cryptokey.rs
@@ -26,6 +26,7 @@ pub enum Handle {
Aes128(Vec<u8>),
Aes192(Vec<u8>),
Aes256(Vec<u8>),
+ Pbkdf2(Vec<u8>),
}
/// <https://w3c.github.io/webcrypto/#cryptokey-interface>
@@ -114,23 +115,23 @@ impl CryptoKey {
}
impl CryptoKeyMethods for CryptoKey {
- /// <https://w3c.github.io/webcrypto/#cryptokey-interface-members>
+ /// <https://w3c.github.io/webcrypto/#dom-cryptokey-type>
fn Type(&self) -> KeyType {
self.key_type
}
- /// <https://w3c.github.io/webcrypto/#cryptokey-interface-members>
+ /// <https://w3c.github.io/webcrypto/#dom-cryptokey-extractable>
fn Extractable(&self) -> bool {
self.extractable.get()
}
- /// <https://w3c.github.io/webcrypto/#cryptokey-interface-members>
+ /// <https://w3c.github.io/webcrypto/#dom-cryptokey-algorithm>
fn Algorithm(&self, _cx: JSContext) -> NonNull<JSObject> {
NonNull::new(self.algorithm_object.get()).unwrap()
}
#[allow(unsafe_code)]
- /// <https://w3c.github.io/webcrypto/#cryptokey-interface-members>
+ /// <https://w3c.github.io/webcrypto/#dom-cryptokey-usages>
fn Usages(&self, cx: JSContext) -> NonNull<JSObject> {
unsafe {
rooted!(in(*cx) let mut usages: Value);
@@ -139,3 +140,14 @@ impl CryptoKeyMethods for CryptoKey {
}
}
}
+
+impl Handle {
+ pub fn as_bytes(&self) -> &[u8] {
+ match self {
+ Self::Aes128(bytes) => bytes,
+ Self::Aes192(bytes) => bytes,
+ Self::Aes256(bytes) => bytes,
+ Self::Pbkdf2(bytes) => bytes,
+ }
+ }
+}