Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(862)

Side by Side Diff: third_party/WebKit/Source/modules/crypto/NormalizeAlgorithm.cpp

Issue 1964183004: Revert of Move DOMArrayBuffer, DOMArrayBufferViews and DataView to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 { 301 {
302 bool hasProperty; 302 bool hasProperty;
303 bool ok = getOptionalBufferSource(raw, propertyName, hasProperty, buffer, co ntext, error); 303 bool ok = getOptionalBufferSource(raw, propertyName, hasProperty, buffer, co ntext, error);
304 if (!hasProperty) { 304 if (!hasProperty) {
305 setTypeError(context.toString(propertyName, "Missing required property") , error); 305 setTypeError(context.toString(propertyName, "Missing required property") , error);
306 return false; 306 return false;
307 } 307 }
308 return ok; 308 return ok;
309 } 309 }
310 310
311 bool getUint8Array(const Dictionary& raw, const char* propertyName, DOMUint8Arra y*& array, const ErrorContext& context, AlgorithmError* error) 311 bool getUint8Array(const Dictionary& raw, const char* propertyName, RefPtr<DOMUi nt8Array>& array, const ErrorContext& context, AlgorithmError* error)
312 { 312 {
313 if (!DictionaryHelper::get(raw, propertyName, array) || !array) { 313 if (!DictionaryHelper::get(raw, propertyName, array) || !array) {
314 setTypeError(context.toString(propertyName, "Missing or not a Uint8Array "), error); 314 setTypeError(context.toString(propertyName, "Missing or not a Uint8Array "), error);
315 return false; 315 return false;
316 } 316 }
317 return true; 317 return true;
318 } 318 }
319 319
320 // Defined by the WebCrypto spec as: 320 // Defined by the WebCrypto spec as:
321 // 321 //
322 // typedef Uint8Array BigInteger; 322 // typedef Uint8Array BigInteger;
323 bool getBigInteger(const Dictionary& raw, const char* propertyName, DOMUint8Arra y*& array, const ErrorContext& context, AlgorithmError* error) 323 bool getBigInteger(const Dictionary& raw, const char* propertyName, RefPtr<DOMUi nt8Array>& array, const ErrorContext& context, AlgorithmError* error)
324 { 324 {
325 if (!getUint8Array(raw, propertyName, array, context, error)) 325 if (!getUint8Array(raw, propertyName, array, context, error))
326 return false; 326 return false;
327 327
328 if (!array->byteLength()) { 328 if (!array->byteLength()) {
329 // Empty BigIntegers represent 0 according to the spec 329 // Empty BigIntegers represent 0 according to the spec
330 array = DOMUint8Array::create(1); 330 array = DOMUint8Array::create(1);
331 } 331 }
332 332
333 return true; 333 return true;
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 // 556 //
557 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams { 557 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
558 // required HashAlgorithmIdentifier hash; 558 // required HashAlgorithmIdentifier hash;
559 // }; 559 // };
560 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<WebCryptoAlgorithm Params>& params, const ErrorContext& context, AlgorithmError* error) 560 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<WebCryptoAlgorithm Params>& params, const ErrorContext& context, AlgorithmError* error)
561 { 561 {
562 uint32_t modulusLength; 562 uint32_t modulusLength;
563 if (!getUint32(raw, "modulusLength", modulusLength, context, error)) 563 if (!getUint32(raw, "modulusLength", modulusLength, context, error))
564 return false; 564 return false;
565 565
566 DOMUint8Array* publicExponent = nullptr; 566 RefPtr<DOMUint8Array> publicExponent;
567 if (!getBigInteger(raw, "publicExponent", publicExponent, context, error)) 567 if (!getBigInteger(raw, "publicExponent", publicExponent, context, error))
568 return false; 568 return false;
569 569
570 WebCryptoAlgorithm hash; 570 WebCryptoAlgorithm hash;
571 if (!parseHash(raw, hash, context, error)) 571 if (!parseHash(raw, hash, context, error))
572 return false; 572 return false;
573 573
574 params = adoptPtr(new WebCryptoRsaHashedKeyGenParams(hash, modulusLength, st atic_cast<const unsigned char*>(publicExponent->baseAddress()), publicExponent-> byteLength())); 574 params = adoptPtr(new WebCryptoRsaHashedKeyGenParams(hash, modulusLength, st atic_cast<const unsigned char*>(publicExponent->baseAddress()), publicExponent-> byteLength()));
575 return true; 575 return true;
576 } 576 }
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 } 977 }
978 978
979 } // namespace 979 } // namespace
980 980
981 bool normalizeAlgorithm(const AlgorithmIdentifier& raw, WebCryptoOperation op, W ebCryptoAlgorithm& algorithm, AlgorithmError* error) 981 bool normalizeAlgorithm(const AlgorithmIdentifier& raw, WebCryptoOperation op, W ebCryptoAlgorithm& algorithm, AlgorithmError* error)
982 { 982 {
983 return parseAlgorithmIdentifier(raw, op, algorithm, ErrorContext(), error); 983 return parseAlgorithmIdentifier(raw, op, algorithm, ErrorContext(), error);
984 } 984 }
985 985
986 } // namespace blink 986 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698