aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorderor1869107 <sungyuanyao@gmail.com>2016-12-26 02:53:48 +0800
committerderor1869107 <sungyuanyao@gmail.com>2016-12-26 11:15:42 +0800
commit684db8bd293e20ea0cd6e59697dfa84ca15fe8b2 (patch)
treee53603e7330ee915c4c328899db68d598449ecac /components/script/dom
parentb319dedda94e47a1ca6a789f0c2852c58c01223c (diff)
downloadservo-684db8bd293e20ea0cd6e59697dfa84ca15fe8b2.tar.gz
servo-684db8bd293e20ea0cd6e59697dfa84ca15fe8b2.zip
Rewrite Crypto::GetRandomValues to use typed array API
Fix mut typed_array Redundant code
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/crypto.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/components/script/dom/crypto.rs b/components/script/dom/crypto.rs
index 4120456c77c..57b561e8a58 100644
--- a/components/script/dom/crypto.rs
+++ b/components/script/dom/crypto.rs
@@ -6,7 +6,6 @@ use core::nonzero::NonZero;
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::CryptoBinding;
use dom::bindings::codegen::Bindings::CryptoBinding::CryptoMethods;
-use dom::bindings::conversions::array_buffer_view_data;
use dom::bindings::error::{Error, Fallible};
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
@@ -46,9 +45,10 @@ impl CryptoMethods for Crypto {
input: *mut JSObject)
-> Fallible<NonZero<*mut JSObject>> {
assert!(!input.is_null());
- let mut data = match array_buffer_view_data::<u8>(input) {
- Some(data) => data,
- None => {
+ typedarray!(in(_cx) let mut array_buffer_view: ArrayBufferView = input);
+ let mut data = match array_buffer_view.as_mut() {
+ Ok(x) => x.as_mut_slice(),
+ Err(_) => {
return Err(Error::Type("Argument to Crypto.getRandomValues is not an ArrayBufferView"
.to_owned()));
}