Skip to main content

script/dom/webcrypto/
mod.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5use script_webcrypto::traits::WebCryptoGlobalTrait;
6
7use crate::dom::GlobalScope;
8use crate::tasks::task::TaskOnce;
9
10pub(crate) mod crypto {
11    pub(crate) type Crypto = script_webcrypto::crypto::Crypto<crate::DomTypeHolder>;
12}
13pub(crate) mod cryptokey {
14    pub(crate) type CryptoKey = script_webcrypto::cryptokey::CryptoKey<crate::DomTypeHolder>;
15}
16pub(crate) mod subtlecrypto {
17    pub(crate) type SubtleCrypto =
18        script_webcrypto::subtlecrypto::SubtleCrypto<crate::DomTypeHolder>;
19}
20
21impl WebCryptoGlobalTrait<crate::DomTypeHolder> for GlobalScope {
22    fn queue_crypto_task_source(&self, task: impl TaskOnce + 'static) {
23        self.task_manager().crypto_task_source().queue(task);
24    }
25
26    fn queue_dom_manipulation_task_source(&self, task: impl TaskOnce + 'static) {
27        self.task_manager()
28            .dom_manipulation_task_source()
29            .queue(task);
30    }
31}