OLD | NEW |
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 13 matching lines...) Expand all Loading... |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "config.h" | 31 #include "config.h" |
32 #include "modules/crypto/Algorithm.h" | 32 #include "modules/crypto/Algorithm.h" |
33 | 33 |
| 34 #include "modules/crypto/AesCbcParams.h" |
| 35 #include "modules/crypto/AesKeyGenParams.h" |
| 36 |
34 namespace WebCore { | 37 namespace WebCore { |
35 | 38 |
| 39 PassRefPtr<Algorithm> Algorithm::create(const WebKit::WebCryptoAlgorithm& algori
thm) |
| 40 { |
| 41 switch (algorithm.paramsType()) { |
| 42 case WebKit::WebCryptoAlgorithmParamsTypeNone: |
| 43 return adoptRef(new Algorithm(algorithm)); |
| 44 case WebKit::WebCryptoAlgorithmParamsTypeAesCbcParams: |
| 45 return AesCbcParams::create(algorithm); |
| 46 case WebKit::WebCryptoAlgorithmParamsTypeAesKeyGenParams: |
| 47 return AesKeyGenParams::create(algorithm); |
| 48 } |
| 49 ASSERT_NOT_REACHED(); |
| 50 return 0; |
| 51 } |
| 52 |
36 Algorithm::Algorithm(const WebKit::WebCryptoAlgorithm& algorithm) | 53 Algorithm::Algorithm(const WebKit::WebCryptoAlgorithm& algorithm) |
37 : m_algorithm(algorithm) | 54 : m_algorithm(algorithm) |
38 { | 55 { |
39 ScriptWrappable::init(this); | 56 ScriptWrappable::init(this); |
40 } | 57 } |
41 | 58 |
42 const String& Algorithm::name() | 59 String Algorithm::name() |
43 { | 60 { |
44 if (m_name.isNull()) | 61 return ASCIILiteral(m_algorithm.algorithmName()); |
45 m_name = m_algorithm.algorithmName(); | |
46 return m_name; | |
47 } | 62 } |
48 | 63 |
49 } // namespace WebCore | 64 } // namespace WebCore |
OLD | NEW |