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

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

Issue 2547053003: s/ passed(...) / WTF::passed(...) / to avoid future ambiguity w/ base::Passed. (Closed)
Patch Set: Rebasing... Created 4 years 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 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 // required BufferSource iv; 507 // required BufferSource iv;
508 // }; 508 // };
509 bool parseAesCbcParams(const Dictionary& raw, 509 bool parseAesCbcParams(const Dictionary& raw,
510 std::unique_ptr<WebCryptoAlgorithmParams>& params, 510 std::unique_ptr<WebCryptoAlgorithmParams>& params,
511 const ErrorContext& context, 511 const ErrorContext& context,
512 AlgorithmError* error) { 512 AlgorithmError* error) {
513 WebVector<uint8_t> iv; 513 WebVector<uint8_t> iv;
514 if (!getBufferSource(raw, "iv", iv, context, error)) 514 if (!getBufferSource(raw, "iv", iv, context, error))
515 return false; 515 return false;
516 516
517 params = wrapUnique(new WebCryptoAesCbcParams(std::move(iv))); 517 params = WTF::wrapUnique(new WebCryptoAesCbcParams(std::move(iv)));
518 return true; 518 return true;
519 } 519 }
520 520
521 // Defined by the WebCrypto spec as: 521 // Defined by the WebCrypto spec as:
522 // 522 //
523 // dictionary AesKeyGenParams : Algorithm { 523 // dictionary AesKeyGenParams : Algorithm {
524 // [EnforceRange] required unsigned short length; 524 // [EnforceRange] required unsigned short length;
525 // }; 525 // };
526 bool parseAesKeyGenParams(const Dictionary& raw, 526 bool parseAesKeyGenParams(const Dictionary& raw,
527 std::unique_ptr<WebCryptoAlgorithmParams>& params, 527 std::unique_ptr<WebCryptoAlgorithmParams>& params,
528 const ErrorContext& context, 528 const ErrorContext& context,
529 AlgorithmError* error) { 529 AlgorithmError* error) {
530 uint16_t length; 530 uint16_t length;
531 if (!getUint16(raw, "length", length, context, error)) 531 if (!getUint16(raw, "length", length, context, error))
532 return false; 532 return false;
533 533
534 params = makeUnique<WebCryptoAesKeyGenParams>(length); 534 params = WTF::makeUnique<WebCryptoAesKeyGenParams>(length);
535 return true; 535 return true;
536 } 536 }
537 537
538 bool parseAlgorithmIdentifier(const AlgorithmIdentifier&, 538 bool parseAlgorithmIdentifier(const AlgorithmIdentifier&,
539 WebCryptoOperation, 539 WebCryptoOperation,
540 WebCryptoAlgorithm&, 540 WebCryptoAlgorithm&,
541 ErrorContext, 541 ErrorContext,
542 AlgorithmError*); 542 AlgorithmError*);
543 543
544 bool parseHash(const Dictionary& raw, 544 bool parseHash(const Dictionary& raw,
(...skipping 21 matching lines...) Expand all
566 AlgorithmError* error) { 566 AlgorithmError* error) {
567 WebCryptoAlgorithm hash; 567 WebCryptoAlgorithm hash;
568 if (!parseHash(raw, hash, context, error)) 568 if (!parseHash(raw, hash, context, error))
569 return false; 569 return false;
570 570
571 bool hasLength; 571 bool hasLength;
572 uint32_t length = 0; 572 uint32_t length = 0;
573 if (!getOptionalUint32(raw, "length", hasLength, length, context, error)) 573 if (!getOptionalUint32(raw, "length", hasLength, length, context, error))
574 return false; 574 return false;
575 575
576 params = makeUnique<WebCryptoHmacImportParams>(hash, hasLength, length); 576 params = WTF::makeUnique<WebCryptoHmacImportParams>(hash, hasLength, length);
577 return true; 577 return true;
578 } 578 }
579 579
580 // Defined by the WebCrypto spec as: 580 // Defined by the WebCrypto spec as:
581 // 581 //
582 // dictionary HmacKeyGenParams : Algorithm { 582 // dictionary HmacKeyGenParams : Algorithm {
583 // required HashAlgorithmIdentifier hash; 583 // required HashAlgorithmIdentifier hash;
584 // [EnforceRange] unsigned long length; 584 // [EnforceRange] unsigned long length;
585 // }; 585 // };
586 bool parseHmacKeyGenParams(const Dictionary& raw, 586 bool parseHmacKeyGenParams(const Dictionary& raw,
587 std::unique_ptr<WebCryptoAlgorithmParams>& params, 587 std::unique_ptr<WebCryptoAlgorithmParams>& params,
588 const ErrorContext& context, 588 const ErrorContext& context,
589 AlgorithmError* error) { 589 AlgorithmError* error) {
590 WebCryptoAlgorithm hash; 590 WebCryptoAlgorithm hash;
591 if (!parseHash(raw, hash, context, error)) 591 if (!parseHash(raw, hash, context, error))
592 return false; 592 return false;
593 593
594 bool hasLength; 594 bool hasLength;
595 uint32_t length = 0; 595 uint32_t length = 0;
596 if (!getOptionalUint32(raw, "length", hasLength, length, context, error)) 596 if (!getOptionalUint32(raw, "length", hasLength, length, context, error))
597 return false; 597 return false;
598 598
599 params = makeUnique<WebCryptoHmacKeyGenParams>(hash, hasLength, length); 599 params = WTF::makeUnique<WebCryptoHmacKeyGenParams>(hash, hasLength, length);
600 return true; 600 return true;
601 } 601 }
602 602
603 // Defined by the WebCrypto spec as: 603 // Defined by the WebCrypto spec as:
604 // 604 //
605 // dictionary RsaHashedImportParams : Algorithm { 605 // dictionary RsaHashedImportParams : Algorithm {
606 // required HashAlgorithmIdentifier hash; 606 // required HashAlgorithmIdentifier hash;
607 // }; 607 // };
608 bool parseRsaHashedImportParams( 608 bool parseRsaHashedImportParams(
609 const Dictionary& raw, 609 const Dictionary& raw,
610 std::unique_ptr<WebCryptoAlgorithmParams>& params, 610 std::unique_ptr<WebCryptoAlgorithmParams>& params,
611 const ErrorContext& context, 611 const ErrorContext& context,
612 AlgorithmError* error) { 612 AlgorithmError* error) {
613 WebCryptoAlgorithm hash; 613 WebCryptoAlgorithm hash;
614 if (!parseHash(raw, hash, context, error)) 614 if (!parseHash(raw, hash, context, error))
615 return false; 615 return false;
616 616
617 params = makeUnique<WebCryptoRsaHashedImportParams>(hash); 617 params = WTF::makeUnique<WebCryptoRsaHashedImportParams>(hash);
618 return true; 618 return true;
619 } 619 }
620 620
621 // Defined by the WebCrypto spec as: 621 // Defined by the WebCrypto spec as:
622 // 622 //
623 // dictionary RsaKeyGenParams : Algorithm { 623 // dictionary RsaKeyGenParams : Algorithm {
624 // [EnforceRange] required unsigned long modulusLength; 624 // [EnforceRange] required unsigned long modulusLength;
625 // required BigInteger publicExponent; 625 // required BigInteger publicExponent;
626 // }; 626 // };
627 // 627 //
(...skipping 10 matching lines...) Expand all
638 return false; 638 return false;
639 639
640 WebVector<uint8_t> publicExponent; 640 WebVector<uint8_t> publicExponent;
641 if (!getBigInteger(raw, "publicExponent", publicExponent, context, error)) 641 if (!getBigInteger(raw, "publicExponent", publicExponent, context, error))
642 return false; 642 return false;
643 643
644 WebCryptoAlgorithm hash; 644 WebCryptoAlgorithm hash;
645 if (!parseHash(raw, hash, context, error)) 645 if (!parseHash(raw, hash, context, error))
646 return false; 646 return false;
647 647
648 params = wrapUnique(new WebCryptoRsaHashedKeyGenParams( 648 params = WTF::wrapUnique(new WebCryptoRsaHashedKeyGenParams(
649 hash, modulusLength, std::move(publicExponent))); 649 hash, modulusLength, std::move(publicExponent)));
650 return true; 650 return true;
651 } 651 }
652 652
653 // Defined by the WebCrypto spec as: 653 // Defined by the WebCrypto spec as:
654 // 654 //
655 // dictionary AesCtrParams : Algorithm { 655 // dictionary AesCtrParams : Algorithm {
656 // required BufferSource counter; 656 // required BufferSource counter;
657 // [EnforceRange] required octet length; 657 // [EnforceRange] required octet length;
658 // }; 658 // };
659 bool parseAesCtrParams(const Dictionary& raw, 659 bool parseAesCtrParams(const Dictionary& raw,
660 std::unique_ptr<WebCryptoAlgorithmParams>& params, 660 std::unique_ptr<WebCryptoAlgorithmParams>& params,
661 const ErrorContext& context, 661 const ErrorContext& context,
662 AlgorithmError* error) { 662 AlgorithmError* error) {
663 WebVector<uint8_t> counter; 663 WebVector<uint8_t> counter;
664 if (!getBufferSource(raw, "counter", counter, context, error)) 664 if (!getBufferSource(raw, "counter", counter, context, error))
665 return false; 665 return false;
666 666
667 uint8_t length; 667 uint8_t length;
668 if (!getUint8(raw, "length", length, context, error)) 668 if (!getUint8(raw, "length", length, context, error))
669 return false; 669 return false;
670 670
671 params = wrapUnique(new WebCryptoAesCtrParams(length, std::move(counter))); 671 params =
672 WTF::wrapUnique(new WebCryptoAesCtrParams(length, std::move(counter)));
672 return true; 673 return true;
673 } 674 }
674 675
675 // Defined by the WebCrypto spec as: 676 // Defined by the WebCrypto spec as:
676 // 677 //
677 // dictionary AesGcmParams : Algorithm { 678 // dictionary AesGcmParams : Algorithm {
678 // required BufferSource iv; 679 // required BufferSource iv;
679 // BufferSource additionalData; 680 // BufferSource additionalData;
680 // [EnforceRange] octet tagLength; 681 // [EnforceRange] octet tagLength;
681 // } 682 // }
(...skipping 10 matching lines...) Expand all
692 if (!getOptionalBufferSource(raw, "additionalData", hasAdditionalData, 693 if (!getOptionalBufferSource(raw, "additionalData", hasAdditionalData,
693 additionalData, context, error)) 694 additionalData, context, error))
694 return false; 695 return false;
695 696
696 uint8_t tagLength = 0; 697 uint8_t tagLength = 0;
697 bool hasTagLength; 698 bool hasTagLength;
698 if (!getOptionalUint8(raw, "tagLength", hasTagLength, tagLength, context, 699 if (!getOptionalUint8(raw, "tagLength", hasTagLength, tagLength, context,
699 error)) 700 error))
700 return false; 701 return false;
701 702
702 params = wrapUnique(new WebCryptoAesGcmParams( 703 params = WTF::wrapUnique(new WebCryptoAesGcmParams(
703 std::move(iv), hasAdditionalData, std::move(additionalData), hasTagLength, 704 std::move(iv), hasAdditionalData, std::move(additionalData), hasTagLength,
704 tagLength)); 705 tagLength));
705 return true; 706 return true;
706 } 707 }
707 708
708 // Defined by the WebCrypto spec as: 709 // Defined by the WebCrypto spec as:
709 // 710 //
710 // dictionary RsaOaepParams : Algorithm { 711 // dictionary RsaOaepParams : Algorithm {
711 // BufferSource label; 712 // BufferSource label;
712 // }; 713 // };
713 bool parseRsaOaepParams(const Dictionary& raw, 714 bool parseRsaOaepParams(const Dictionary& raw,
714 std::unique_ptr<WebCryptoAlgorithmParams>& params, 715 std::unique_ptr<WebCryptoAlgorithmParams>& params,
715 const ErrorContext& context, 716 const ErrorContext& context,
716 AlgorithmError* error) { 717 AlgorithmError* error) {
717 bool hasLabel; 718 bool hasLabel;
718 WebVector<uint8_t> label; 719 WebVector<uint8_t> label;
719 if (!getOptionalBufferSource(raw, "label", hasLabel, label, context, error)) 720 if (!getOptionalBufferSource(raw, "label", hasLabel, label, context, error))
720 return false; 721 return false;
721 722
722 params = wrapUnique(new WebCryptoRsaOaepParams(hasLabel, std::move(label))); 723 params =
724 WTF::wrapUnique(new WebCryptoRsaOaepParams(hasLabel, std::move(label)));
723 return true; 725 return true;
724 } 726 }
725 727
726 // Defined by the WebCrypto spec as: 728 // Defined by the WebCrypto spec as:
727 // 729 //
728 // dictionary RsaPssParams : Algorithm { 730 // dictionary RsaPssParams : Algorithm {
729 // [EnforceRange] required unsigned long saltLength; 731 // [EnforceRange] required unsigned long saltLength;
730 // }; 732 // };
731 bool parseRsaPssParams(const Dictionary& raw, 733 bool parseRsaPssParams(const Dictionary& raw,
732 std::unique_ptr<WebCryptoAlgorithmParams>& params, 734 std::unique_ptr<WebCryptoAlgorithmParams>& params,
733 const ErrorContext& context, 735 const ErrorContext& context,
734 AlgorithmError* error) { 736 AlgorithmError* error) {
735 uint32_t saltLengthBytes; 737 uint32_t saltLengthBytes;
736 if (!getUint32(raw, "saltLength", saltLengthBytes, context, error)) 738 if (!getUint32(raw, "saltLength", saltLengthBytes, context, error))
737 return false; 739 return false;
738 740
739 params = makeUnique<WebCryptoRsaPssParams>(saltLengthBytes); 741 params = WTF::makeUnique<WebCryptoRsaPssParams>(saltLengthBytes);
740 return true; 742 return true;
741 } 743 }
742 744
743 // Defined by the WebCrypto spec as: 745 // Defined by the WebCrypto spec as:
744 // 746 //
745 // dictionary EcdsaParams : Algorithm { 747 // dictionary EcdsaParams : Algorithm {
746 // required HashAlgorithmIdentifier hash; 748 // required HashAlgorithmIdentifier hash;
747 // }; 749 // };
748 bool parseEcdsaParams(const Dictionary& raw, 750 bool parseEcdsaParams(const Dictionary& raw,
749 std::unique_ptr<WebCryptoAlgorithmParams>& params, 751 std::unique_ptr<WebCryptoAlgorithmParams>& params,
750 const ErrorContext& context, 752 const ErrorContext& context,
751 AlgorithmError* error) { 753 AlgorithmError* error) {
752 WebCryptoAlgorithm hash; 754 WebCryptoAlgorithm hash;
753 if (!parseHash(raw, hash, context, error)) 755 if (!parseHash(raw, hash, context, error))
754 return false; 756 return false;
755 757
756 params = makeUnique<WebCryptoEcdsaParams>(hash); 758 params = WTF::makeUnique<WebCryptoEcdsaParams>(hash);
757 return true; 759 return true;
758 } 760 }
759 761
760 struct CurveNameMapping { 762 struct CurveNameMapping {
761 const char* const name; 763 const char* const name;
762 WebCryptoNamedCurve value; 764 WebCryptoNamedCurve value;
763 }; 765 };
764 766
765 const CurveNameMapping curveNameMappings[] = { 767 const CurveNameMapping curveNameMappings[] = {
766 {"P-256", WebCryptoNamedCurveP256}, 768 {"P-256", WebCryptoNamedCurveP256},
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 // required NamedCurve namedCurve; 802 // required NamedCurve namedCurve;
801 // }; 803 // };
802 bool parseEcKeyGenParams(const Dictionary& raw, 804 bool parseEcKeyGenParams(const Dictionary& raw,
803 std::unique_ptr<WebCryptoAlgorithmParams>& params, 805 std::unique_ptr<WebCryptoAlgorithmParams>& params,
804 const ErrorContext& context, 806 const ErrorContext& context,
805 AlgorithmError* error) { 807 AlgorithmError* error) {
806 WebCryptoNamedCurve namedCurve; 808 WebCryptoNamedCurve namedCurve;
807 if (!parseNamedCurve(raw, namedCurve, context, error)) 809 if (!parseNamedCurve(raw, namedCurve, context, error))
808 return false; 810 return false;
809 811
810 params = makeUnique<WebCryptoEcKeyGenParams>(namedCurve); 812 params = WTF::makeUnique<WebCryptoEcKeyGenParams>(namedCurve);
811 return true; 813 return true;
812 } 814 }
813 815
814 // Defined by the WebCrypto spec as: 816 // Defined by the WebCrypto spec as:
815 // 817 //
816 // dictionary EcKeyImportParams : Algorithm { 818 // dictionary EcKeyImportParams : Algorithm {
817 // required NamedCurve namedCurve; 819 // required NamedCurve namedCurve;
818 // }; 820 // };
819 bool parseEcKeyImportParams(const Dictionary& raw, 821 bool parseEcKeyImportParams(const Dictionary& raw,
820 std::unique_ptr<WebCryptoAlgorithmParams>& params, 822 std::unique_ptr<WebCryptoAlgorithmParams>& params,
821 const ErrorContext& context, 823 const ErrorContext& context,
822 AlgorithmError* error) { 824 AlgorithmError* error) {
823 WebCryptoNamedCurve namedCurve; 825 WebCryptoNamedCurve namedCurve;
824 if (!parseNamedCurve(raw, namedCurve, context, error)) 826 if (!parseNamedCurve(raw, namedCurve, context, error))
825 return false; 827 return false;
826 828
827 params = makeUnique<WebCryptoEcKeyImportParams>(namedCurve); 829 params = WTF::makeUnique<WebCryptoEcKeyImportParams>(namedCurve);
828 return true; 830 return true;
829 } 831 }
830 832
831 // Defined by the WebCrypto spec as: 833 // Defined by the WebCrypto spec as:
832 // 834 //
833 // dictionary EcdhKeyDeriveParams : Algorithm { 835 // dictionary EcdhKeyDeriveParams : Algorithm {
834 // required CryptoKey public; 836 // required CryptoKey public;
835 // }; 837 // };
836 bool parseEcdhKeyDeriveParams(const Dictionary& raw, 838 bool parseEcdhKeyDeriveParams(const Dictionary& raw,
837 std::unique_ptr<WebCryptoAlgorithmParams>& params, 839 std::unique_ptr<WebCryptoAlgorithmParams>& params,
838 const ErrorContext& context, 840 const ErrorContext& context,
839 AlgorithmError* error) { 841 AlgorithmError* error) {
840 v8::Local<v8::Value> v8Value; 842 v8::Local<v8::Value> v8Value;
841 if (!raw.get("public", v8Value)) { 843 if (!raw.get("public", v8Value)) {
842 setTypeError(context.toString("public", "Missing required property"), 844 setTypeError(context.toString("public", "Missing required property"),
843 error); 845 error);
844 return false; 846 return false;
845 } 847 }
846 848
847 CryptoKey* cryptoKey = 849 CryptoKey* cryptoKey =
848 V8CryptoKey::toImplWithTypeCheck(raw.isolate(), v8Value); 850 V8CryptoKey::toImplWithTypeCheck(raw.isolate(), v8Value);
849 if (!cryptoKey) { 851 if (!cryptoKey) {
850 setTypeError(context.toString("public", "Must be a CryptoKey"), error); 852 setTypeError(context.toString("public", "Must be a CryptoKey"), error);
851 return false; 853 return false;
852 } 854 }
853 855
854 params = wrapUnique(new WebCryptoEcdhKeyDeriveParams(cryptoKey->key())); 856 params = WTF::wrapUnique(new WebCryptoEcdhKeyDeriveParams(cryptoKey->key()));
855 return true; 857 return true;
856 } 858 }
857 859
858 // Defined by the WebCrypto spec as: 860 // Defined by the WebCrypto spec as:
859 // 861 //
860 // dictionary Pbkdf2Params : Algorithm { 862 // dictionary Pbkdf2Params : Algorithm {
861 // required BufferSource salt; 863 // required BufferSource salt;
862 // [EnforceRange] required unsigned long iterations; 864 // [EnforceRange] required unsigned long iterations;
863 // required HashAlgorithmIdentifier hash; 865 // required HashAlgorithmIdentifier hash;
864 // }; 866 // };
865 bool parsePbkdf2Params(const Dictionary& raw, 867 bool parsePbkdf2Params(const Dictionary& raw,
866 std::unique_ptr<WebCryptoAlgorithmParams>& params, 868 std::unique_ptr<WebCryptoAlgorithmParams>& params,
867 const ErrorContext& context, 869 const ErrorContext& context,
868 AlgorithmError* error) { 870 AlgorithmError* error) {
869 WebVector<uint8_t> salt; 871 WebVector<uint8_t> salt;
870 if (!getBufferSource(raw, "salt", salt, context, error)) 872 if (!getBufferSource(raw, "salt", salt, context, error))
871 return false; 873 return false;
872 874
873 uint32_t iterations; 875 uint32_t iterations;
874 if (!getUint32(raw, "iterations", iterations, context, error)) 876 if (!getUint32(raw, "iterations", iterations, context, error))
875 return false; 877 return false;
876 878
877 WebCryptoAlgorithm hash; 879 WebCryptoAlgorithm hash;
878 if (!parseHash(raw, hash, context, error)) 880 if (!parseHash(raw, hash, context, error))
879 return false; 881 return false;
880 params = 882 params = WTF::wrapUnique(
881 wrapUnique(new WebCryptoPbkdf2Params(hash, std::move(salt), iterations)); 883 new WebCryptoPbkdf2Params(hash, std::move(salt), iterations));
882 return true; 884 return true;
883 } 885 }
884 886
885 // Defined by the WebCrypto spec as: 887 // Defined by the WebCrypto spec as:
886 // 888 //
887 // dictionary AesDerivedKeyParams : Algorithm { 889 // dictionary AesDerivedKeyParams : Algorithm {
888 // [EnforceRange] required unsigned short length; 890 // [EnforceRange] required unsigned short length;
889 // }; 891 // };
890 bool parseAesDerivedKeyParams(const Dictionary& raw, 892 bool parseAesDerivedKeyParams(const Dictionary& raw,
891 std::unique_ptr<WebCryptoAlgorithmParams>& params, 893 std::unique_ptr<WebCryptoAlgorithmParams>& params,
892 const ErrorContext& context, 894 const ErrorContext& context,
893 AlgorithmError* error) { 895 AlgorithmError* error) {
894 uint16_t length; 896 uint16_t length;
895 if (!getUint16(raw, "length", length, context, error)) 897 if (!getUint16(raw, "length", length, context, error))
896 return false; 898 return false;
897 899
898 params = makeUnique<WebCryptoAesDerivedKeyParams>(length); 900 params = WTF::makeUnique<WebCryptoAesDerivedKeyParams>(length);
899 return true; 901 return true;
900 } 902 }
901 903
902 // Defined by the WebCrypto spec as: 904 // Defined by the WebCrypto spec as:
903 // 905 //
904 // dictionary HkdfParams : Algorithm { 906 // dictionary HkdfParams : Algorithm {
905 // required HashAlgorithmIdentifier hash; 907 // required HashAlgorithmIdentifier hash;
906 // required BufferSource salt; 908 // required BufferSource salt;
907 // required BufferSource info; 909 // required BufferSource info;
908 // }; 910 // };
909 bool parseHkdfParams(const Dictionary& raw, 911 bool parseHkdfParams(const Dictionary& raw,
910 std::unique_ptr<WebCryptoAlgorithmParams>& params, 912 std::unique_ptr<WebCryptoAlgorithmParams>& params,
911 const ErrorContext& context, 913 const ErrorContext& context,
912 AlgorithmError* error) { 914 AlgorithmError* error) {
913 WebCryptoAlgorithm hash; 915 WebCryptoAlgorithm hash;
914 if (!parseHash(raw, hash, context, error)) 916 if (!parseHash(raw, hash, context, error))
915 return false; 917 return false;
916 WebVector<uint8_t> salt; 918 WebVector<uint8_t> salt;
917 if (!getBufferSource(raw, "salt", salt, context, error)) 919 if (!getBufferSource(raw, "salt", salt, context, error))
918 return false; 920 return false;
919 WebVector<uint8_t> info; 921 WebVector<uint8_t> info;
920 if (!getBufferSource(raw, "info", info, context, error)) 922 if (!getBufferSource(raw, "info", info, context, error))
921 return false; 923 return false;
922 924
923 params = wrapUnique( 925 params = WTF::wrapUnique(
924 new WebCryptoHkdfParams(hash, std::move(salt), std::move(info))); 926 new WebCryptoHkdfParams(hash, std::move(salt), std::move(info)));
925 return true; 927 return true;
926 } 928 }
927 929
928 bool parseAlgorithmParams(const Dictionary& raw, 930 bool parseAlgorithmParams(const Dictionary& raw,
929 WebCryptoAlgorithmParamsType type, 931 WebCryptoAlgorithmParamsType type,
930 std::unique_ptr<WebCryptoAlgorithmParams>& params, 932 std::unique_ptr<WebCryptoAlgorithmParams>& params,
931 ErrorContext& context, 933 ErrorContext& context,
932 AlgorithmError* error) { 934 AlgorithmError* error) {
933 switch (type) { 935 switch (type) {
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 } // namespace 1093 } // namespace
1092 1094
1093 bool normalizeAlgorithm(const AlgorithmIdentifier& raw, 1095 bool normalizeAlgorithm(const AlgorithmIdentifier& raw,
1094 WebCryptoOperation op, 1096 WebCryptoOperation op,
1095 WebCryptoAlgorithm& algorithm, 1097 WebCryptoAlgorithm& algorithm,
1096 AlgorithmError* error) { 1098 AlgorithmError* error) {
1097 return parseAlgorithmIdentifier(raw, op, algorithm, ErrorContext(), error); 1099 return parseAlgorithmIdentifier(raw, op, algorithm, ErrorContext(), error);
1098 } 1100 }
1099 1101
1100 } // namespace blink 1102 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698