| Index: content/renderer/webcrypto/shared_crypto.cc
|
| diff --git a/content/renderer/webcrypto/shared_crypto.cc b/content/renderer/webcrypto/shared_crypto.cc
|
| index fec723909d992b40f842b49004e875c20c77bb38..b960c7fdaa7d01bf2044f9225fc3ac3a65ab6821 100644
|
| --- a/content/renderer/webcrypto/shared_crypto.cc
|
| +++ b/content/renderer/webcrypto/shared_crypto.cc
|
| @@ -94,13 +94,13 @@ Status EncryptDecryptAesGcm(EncryptOrDecrypt mode,
|
| if (!params)
|
| return Status::ErrorUnexpected();
|
|
|
| - // TODO(eroman): The spec doesn't define the default value. Assume 128 for now
|
| - // since that is the maximum tag length:
|
| - // http://www.w3.org/2012/webcrypto/track/issues/46
|
| unsigned int tag_length_bits = 128;
|
| if (params->hasTagLengthBits())
|
| tag_length_bits = params->optionalTagLengthBits();
|
| - if (tag_length_bits > 128)
|
| +
|
| + if (tag_length_bits != 32 && tag_length_bits != 64 && tag_length_bits != 96 &&
|
| + tag_length_bits != 104 && tag_length_bits != 112 &&
|
| + tag_length_bits != 120 && tag_length_bits != 128)
|
| return Status::ErrorInvalidAesGcmTagLength();
|
|
|
| return platform::EncryptDecryptAesGcm(
|
|
|