An in-memory RNG that shares its file descriptor.

This commit is contained in:
Alan Jeffrey 2017-01-05 13:51:53 +00:00
parent 143dfc879e
commit 7ace30f9bd
15 changed files with 203 additions and 23 deletions

View file

@ -12,23 +12,23 @@ use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::globalscope::GlobalScope;
use js::jsapi::{JSContext, JSObject};
use js::jsapi::{JS_GetArrayBufferViewType, Type};
use rand::{OsRng, Rng};
use servo_rand::{ServoRng, Rng};
unsafe_no_jsmanaged_fields!(OsRng);
unsafe_no_jsmanaged_fields!(ServoRng);
// https://developer.mozilla.org/en-US/docs/Web/API/Crypto
#[dom_struct]
pub struct Crypto {
reflector_: Reflector,
#[ignore_heap_size_of = "Defined in rand"]
rng: DOMRefCell<OsRng>,
rng: DOMRefCell<ServoRng>,
}
impl Crypto {
fn new_inherited() -> Crypto {
Crypto {
reflector_: Reflector::new(),
rng: DOMRefCell::new(OsRng::new().unwrap()),
rng: DOMRefCell::new(ServoRng::new()),
}
}