diff options
Diffstat (limited to 'components/script/dom/cryptokey.rs')
-rw-r--r-- | components/script/dom/cryptokey.rs | 20 |
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, + } + } +} |