| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "content/renderer/webcrypto/webcrypto_impl.h" | 5 #include "content/renderer/webcrypto/webcrypto_impl.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 #include <functional> | 8 #include <functional> | 
| 9 #include <map> | 9 #include <map> | 
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" | 
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 208     blink::WebCryptoKey public_key = blink::WebCryptoKey::createNull(); | 208     blink::WebCryptoKey public_key = blink::WebCryptoKey::createNull(); | 
| 209     blink::WebCryptoKey private_key = blink::WebCryptoKey::createNull(); | 209     blink::WebCryptoKey private_key = blink::WebCryptoKey::createNull(); | 
| 210     if (!GenerateKeyPairInternal( | 210     if (!GenerateKeyPairInternal( | 
| 211              algorithm, extractable, usage_mask, &public_key, &private_key)) { | 211              algorithm, extractable, usage_mask, &public_key, &private_key)) { | 
| 212       result.completeWithError(); | 212       result.completeWithError(); | 
| 213     } else { | 213     } else { | 
| 214       DCHECK(public_key.handle()); | 214       DCHECK(public_key.handle()); | 
| 215       DCHECK(private_key.handle()); | 215       DCHECK(private_key.handle()); | 
| 216       DCHECK_EQ(algorithm.id(), public_key.algorithm().id()); | 216       DCHECK_EQ(algorithm.id(), public_key.algorithm().id()); | 
| 217       DCHECK_EQ(algorithm.id(), private_key.algorithm().id()); | 217       DCHECK_EQ(algorithm.id(), private_key.algorithm().id()); | 
| 218       // TODO(padolph): The public key should probably always be extractable, | 218       DCHECK_EQ(true, public_key.extractable()); | 
| 219       // regardless of the input 'extractable' parameter, but that is not called |  | 
| 220       // out in the Web Crypto API spec. |  | 
| 221       // See https://www.w3.org/Bugs/Public/show_bug.cgi?id=23695 |  | 
| 222       DCHECK_EQ(extractable, public_key.extractable()); |  | 
| 223       DCHECK_EQ(extractable, private_key.extractable()); | 219       DCHECK_EQ(extractable, private_key.extractable()); | 
| 224       DCHECK_EQ(usage_mask, public_key.usages()); | 220       DCHECK_EQ(usage_mask, public_key.usages()); | 
| 225       DCHECK_EQ(usage_mask, private_key.usages()); | 221       DCHECK_EQ(usage_mask, private_key.usages()); | 
| 226       result.completeWithKeyPair(public_key, private_key); | 222       result.completeWithKeyPair(public_key, private_key); | 
| 227     } | 223     } | 
| 228   } else { | 224   } else { | 
| 229     blink::WebCryptoKey key = blink::WebCryptoKey::createNull(); | 225     blink::WebCryptoKey key = blink::WebCryptoKey::createNull(); | 
| 230     if (!GenerateKeyInternal(algorithm, extractable, usage_mask, &key)) { | 226     if (!GenerateKeyInternal(algorithm, extractable, usage_mask, &key)) { | 
| 231       result.completeWithError(); | 227       result.completeWithError(); | 
| 232     } else { | 228     } else { | 
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 585     // TODO(padolph): JWK import RSA public key | 581     // TODO(padolph): JWK import RSA public key | 
| 586     return false; | 582     return false; | 
| 587   } else { | 583   } else { | 
| 588     return false; | 584     return false; | 
| 589   } | 585   } | 
| 590 | 586 | 
| 591   return true; | 587   return true; | 
| 592 } | 588 } | 
| 593 | 589 | 
| 594 }  // namespace content | 590 }  // namespace content | 
| OLD | NEW | 
|---|