| Index: third_party/WebKit/Source/modules/crypto/Crypto.cpp
|
| diff --git a/third_party/WebKit/Source/modules/crypto/Crypto.cpp b/third_party/WebKit/Source/modules/crypto/Crypto.cpp
|
| index 96b5e47d713f3d3bb4c974efcf1e2064a9d30d2f..0c98fdae9247ea245416f2128f4eae1356289334 100644
|
| --- a/third_party/WebKit/Source/modules/crypto/Crypto.cpp
|
| +++ b/third_party/WebKit/Source/modules/crypto/Crypto.cpp
|
| @@ -50,27 +50,29 @@ bool IsIntegerArray(DOMArrayBufferView* array) {
|
|
|
| } // namespace
|
|
|
| -DOMArrayBufferView* Crypto::getRandomValues(DOMArrayBufferView* array,
|
| - ExceptionState& exception_state) {
|
| - ASSERT(array);
|
| - if (!IsIntegerArray(array)) {
|
| +NotShared<DOMArrayBufferView> Crypto::getRandomValues(
|
| + NotShared<DOMArrayBufferView> array,
|
| + ExceptionState& exception_state) {
|
| + DCHECK(array);
|
| + if (!IsIntegerArray(array.View())) {
|
| exception_state.ThrowDOMException(
|
| kTypeMismatchError,
|
| String::Format("The provided ArrayBufferView is of type '%s', which is "
|
| "not an integer array type.",
|
| - array->TypeName()));
|
| - return nullptr;
|
| + array.View()->TypeName()));
|
| + return NotShared<DOMArrayBufferView>(nullptr);
|
| }
|
| - if (array->byteLength() > 65536) {
|
| + if (array.View()->byteLength() > 65536) {
|
| exception_state.ThrowDOMException(
|
| kQuotaExceededError,
|
| String::Format("The ArrayBufferView's byte length (%u) exceeds the "
|
| "number of bytes of entropy available via this API "
|
| "(65536).",
|
| - array->byteLength()));
|
| - return nullptr;
|
| + array.View()->byteLength()));
|
| + return NotShared<DOMArrayBufferView>(nullptr);
|
| }
|
| - CryptographicallyRandomValues(array->BaseAddress(), array->byteLength());
|
| + CryptographicallyRandomValues(array.View()->BaseAddress(),
|
| + array.View()->byteLength());
|
| return array;
|
| }
|
|
|
|
|