diff options
author | Tim Taubert <tim@timtaubert.de> | 2015-06-26 14:02:35 -0700 |
---|---|---|
committer | Tim Taubert <tim@timtaubert.de> | 2015-07-03 18:34:00 +0200 |
commit | 92874a89d260bf4f17849ed93bddfe5a70cd312a (patch) | |
tree | f87a4bcac77a5c3c7eee28332438e44a254fe9cd /components/script/dom/window.rs | |
parent | 73b52c095a448116c0f9db23894a0932d0d53484 (diff) | |
download | servo-92874a89d260bf4f17849ed93bddfe5a70cd312a.tar.gz servo-92874a89d260bf4f17849ed93bddfe5a70cd312a.zip |
Implement window.crypto.getRandomValues()
Diffstat (limited to 'components/script/dom/window.rs')
-rw-r--r-- | components/script/dom/window.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 43fd7429832..fa9c988a30c 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -19,6 +19,7 @@ use dom::bindings::num::Finite; use dom::bindings::utils::{GlobalStaticData, Reflectable, WindowProxyHandler}; use dom::browsercontext::BrowserContext; use dom::console::Console; +use dom::crypto::Crypto; use dom::document::{Document, DocumentHelpers}; use dom::element::Element; use dom::eventtarget::{EventTarget, EventTargetHelpers, EventTargetTypeId}; @@ -100,6 +101,7 @@ pub struct Window { script_chan: Box<ScriptChan+Send>, control_chan: ScriptControlChan, console: MutNullableHeap<JS<Console>>, + crypto: MutNullableHeap<JS<Crypto>>, navigator: MutNullableHeap<JS<Navigator>>, image_cache_task: ImageCacheTask, image_cache_chan: ImageCacheChan, @@ -360,6 +362,10 @@ impl<'a> WindowMethods for &'a Window { self.console.or_init(|| Console::new(GlobalRef::Window(self))) } + fn Crypto(self) -> Root<Crypto> { + self.crypto.or_init(|| Crypto::new(GlobalRef::Window(self))) + } + // https://html.spec.whatwg.org/#dom-frameelement fn GetFrameElement(self) -> Option<Root<Element>> { // FIXME(https://github.com/rust-lang/rust/issues/23338) @@ -981,6 +987,7 @@ impl Window { image_cache_chan: image_cache_chan, control_chan: control_chan, console: Default::default(), + crypto: Default::default(), compositor: DOMRefCell::new(compositor), page: page, navigator: Default::default(), |