mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Rewrite Crypto::GetRandomValues to use typed array API
Fix mut typed_array Redundant code
This commit is contained in:
parent
b319dedda9
commit
684db8bd29
2 changed files with 5 additions and 5 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -1246,7 +1246,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "js"
|
name = "js"
|
||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
source = "git+https://github.com/servo/rust-mozjs#342f304a455080acf64f5ceb40a7f8059481ca01"
|
source = "git+https://github.com/servo/rust-mozjs#15ff1e83446e998112dcde731610e8b60cc32abf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heapsize 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
|
@ -6,7 +6,6 @@ use core::nonzero::NonZero;
|
||||||
use dom::bindings::cell::DOMRefCell;
|
use dom::bindings::cell::DOMRefCell;
|
||||||
use dom::bindings::codegen::Bindings::CryptoBinding;
|
use dom::bindings::codegen::Bindings::CryptoBinding;
|
||||||
use dom::bindings::codegen::Bindings::CryptoBinding::CryptoMethods;
|
use dom::bindings::codegen::Bindings::CryptoBinding::CryptoMethods;
|
||||||
use dom::bindings::conversions::array_buffer_view_data;
|
|
||||||
use dom::bindings::error::{Error, Fallible};
|
use dom::bindings::error::{Error, Fallible};
|
||||||
use dom::bindings::js::Root;
|
use dom::bindings::js::Root;
|
||||||
use dom::bindings::reflector::{Reflector, reflect_dom_object};
|
use dom::bindings::reflector::{Reflector, reflect_dom_object};
|
||||||
|
@ -46,9 +45,10 @@ impl CryptoMethods for Crypto {
|
||||||
input: *mut JSObject)
|
input: *mut JSObject)
|
||||||
-> Fallible<NonZero<*mut JSObject>> {
|
-> Fallible<NonZero<*mut JSObject>> {
|
||||||
assert!(!input.is_null());
|
assert!(!input.is_null());
|
||||||
let mut data = match array_buffer_view_data::<u8>(input) {
|
typedarray!(in(_cx) let mut array_buffer_view: ArrayBufferView = input);
|
||||||
Some(data) => data,
|
let mut data = match array_buffer_view.as_mut() {
|
||||||
None => {
|
Ok(x) => x.as_mut_slice(),
|
||||||
|
Err(_) => {
|
||||||
return Err(Error::Type("Argument to Crypto.getRandomValues is not an ArrayBufferView"
|
return Err(Error::Type("Argument to Crypto.getRandomValues is not an ArrayBufferView"
|
||||||
.to_owned()));
|
.to_owned()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue