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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 | 47 |
48 WebCryptoAlgorithmId id; | 48 WebCryptoAlgorithmId id; |
49 OwnPtr<WebCryptoAlgorithmParams> params; | 49 OwnPtr<WebCryptoAlgorithmParams> params; |
50 }; | 50 }; |
51 | 51 |
52 WebCryptoAlgorithm::WebCryptoAlgorithm(WebCryptoAlgorithmId id, PassOwnPtr<WebCr
yptoAlgorithmParams> params) | 52 WebCryptoAlgorithm::WebCryptoAlgorithm(WebCryptoAlgorithmId id, PassOwnPtr<WebCr
yptoAlgorithmParams> params) |
53 : m_private(adoptRef(new WebCryptoAlgorithmPrivate(id, params))) | 53 : m_private(adoptRef(new WebCryptoAlgorithmPrivate(id, params))) |
54 { | 54 { |
55 } | 55 } |
56 | 56 |
| 57 WebCryptoAlgorithm WebCryptoAlgorithm::createNull() |
| 58 { |
| 59 return WebCryptoAlgorithm(); |
| 60 } |
| 61 |
57 WebCryptoAlgorithm WebCryptoAlgorithm::adoptParamsAndCreate(WebCryptoAlgorithmId
id, WebCryptoAlgorithmParams* params) | 62 WebCryptoAlgorithm WebCryptoAlgorithm::adoptParamsAndCreate(WebCryptoAlgorithmId
id, WebCryptoAlgorithmParams* params) |
58 { | 63 { |
59 return WebCryptoAlgorithm(id, adoptPtr(params)); | 64 return WebCryptoAlgorithm(id, adoptPtr(params)); |
60 } | 65 } |
61 | 66 |
| 67 bool WebCryptoAlgorithm::isNull() const |
| 68 { |
| 69 return m_private.isNull(); |
| 70 } |
| 71 |
62 WebCryptoAlgorithmId WebCryptoAlgorithm::id() const | 72 WebCryptoAlgorithmId WebCryptoAlgorithm::id() const |
63 { | 73 { |
| 74 ASSERT(!isNull()); |
64 return m_private->id; | 75 return m_private->id; |
65 } | 76 } |
66 | 77 |
67 WebCryptoAlgorithmParamsType WebCryptoAlgorithm::paramsType() const | 78 WebCryptoAlgorithmParamsType WebCryptoAlgorithm::paramsType() const |
68 { | 79 { |
| 80 ASSERT(!isNull()); |
69 if (!m_private->params) | 81 if (!m_private->params) |
70 return WebCryptoAlgorithmParamsTypeNone; | 82 return WebCryptoAlgorithmParamsTypeNone; |
71 return m_private->params->type(); | 83 return m_private->params->type(); |
72 } | 84 } |
73 | 85 |
74 const WebCryptoAesCbcParams* WebCryptoAlgorithm::aesCbcParams() const | 86 const WebCryptoAesCbcParams* WebCryptoAlgorithm::aesCbcParams() const |
75 { | 87 { |
| 88 ASSERT(!isNull()); |
76 if (paramsType() == WebCryptoAlgorithmParamsTypeAesCbcParams) | 89 if (paramsType() == WebCryptoAlgorithmParamsTypeAesCbcParams) |
77 return static_cast<WebCryptoAesCbcParams*>(m_private->params.get()); | 90 return static_cast<WebCryptoAesCbcParams*>(m_private->params.get()); |
78 return 0; | 91 return 0; |
79 } | 92 } |
80 | 93 |
81 const WebCryptoAesKeyGenParams* WebCryptoAlgorithm::aesKeyGenParams() const | 94 const WebCryptoAesKeyGenParams* WebCryptoAlgorithm::aesKeyGenParams() const |
82 { | 95 { |
| 96 ASSERT(!isNull()); |
83 if (paramsType() == WebCryptoAlgorithmParamsTypeAesKeyGenParams) | 97 if (paramsType() == WebCryptoAlgorithmParamsTypeAesKeyGenParams) |
84 return static_cast<WebCryptoAesKeyGenParams*>(m_private->params.get()); | 98 return static_cast<WebCryptoAesKeyGenParams*>(m_private->params.get()); |
85 return 0; | 99 return 0; |
86 } | 100 } |
87 | 101 |
88 const WebCryptoHmacParams* WebCryptoAlgorithm::hmacParams() const | 102 const WebCryptoHmacParams* WebCryptoAlgorithm::hmacParams() const |
89 { | 103 { |
| 104 ASSERT(!isNull()); |
90 if (paramsType() == WebCryptoAlgorithmParamsTypeHmacParams) | 105 if (paramsType() == WebCryptoAlgorithmParamsTypeHmacParams) |
91 return static_cast<WebCryptoHmacParams*>(m_private->params.get()); | 106 return static_cast<WebCryptoHmacParams*>(m_private->params.get()); |
92 return 0; | 107 return 0; |
93 } | 108 } |
94 | 109 |
95 const WebCryptoHmacKeyParams* WebCryptoAlgorithm::hmacKeyParams() const | 110 const WebCryptoHmacKeyParams* WebCryptoAlgorithm::hmacKeyParams() const |
96 { | 111 { |
| 112 ASSERT(!isNull()); |
97 if (paramsType() == WebCryptoAlgorithmParamsTypeHmacKeyParams) | 113 if (paramsType() == WebCryptoAlgorithmParamsTypeHmacKeyParams) |
98 return static_cast<WebCryptoHmacKeyParams*>(m_private->params.get()); | 114 return static_cast<WebCryptoHmacKeyParams*>(m_private->params.get()); |
99 return 0; | 115 return 0; |
100 } | 116 } |
101 | 117 |
102 const WebCryptoRsaSsaParams* WebCryptoAlgorithm::rsaSsaParams() const | 118 const WebCryptoRsaSsaParams* WebCryptoAlgorithm::rsaSsaParams() const |
103 { | 119 { |
| 120 ASSERT(!isNull()); |
104 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaSsaParams) | 121 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaSsaParams) |
105 return static_cast<WebCryptoRsaSsaParams*>(m_private->params.get()); | 122 return static_cast<WebCryptoRsaSsaParams*>(m_private->params.get()); |
106 return 0; | 123 return 0; |
107 } | 124 } |
108 | 125 |
109 const WebCryptoRsaKeyGenParams* WebCryptoAlgorithm::rsaKeyGenParams() const | 126 const WebCryptoRsaKeyGenParams* WebCryptoAlgorithm::rsaKeyGenParams() const |
110 { | 127 { |
| 128 ASSERT(!isNull()); |
111 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaKeyGenParams) | 129 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaKeyGenParams) |
112 return static_cast<WebCryptoRsaKeyGenParams*>(m_private->params.get()); | 130 return static_cast<WebCryptoRsaKeyGenParams*>(m_private->params.get()); |
113 return 0; | 131 return 0; |
114 } | 132 } |
115 | 133 |
116 const WebCryptoAesGcmParams* WebCryptoAlgorithm::aesGcmParams() const | 134 const WebCryptoAesGcmParams* WebCryptoAlgorithm::aesGcmParams() const |
117 { | 135 { |
| 136 ASSERT(!isNull()); |
118 if (paramsType() == WebCryptoAlgorithmParamsTypeAesGcmParams) | 137 if (paramsType() == WebCryptoAlgorithmParamsTypeAesGcmParams) |
119 return static_cast<WebCryptoAesGcmParams*>(m_private->params.get()); | 138 return static_cast<WebCryptoAesGcmParams*>(m_private->params.get()); |
120 return 0; | 139 return 0; |
121 } | 140 } |
122 | 141 |
123 const WebCryptoRsaOaepParams* WebCryptoAlgorithm::rsaOaepParams() const | 142 const WebCryptoRsaOaepParams* WebCryptoAlgorithm::rsaOaepParams() const |
124 { | 143 { |
| 144 ASSERT(!isNull()); |
125 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaOaepParams) | 145 if (paramsType() == WebCryptoAlgorithmParamsTypeRsaOaepParams) |
126 return static_cast<WebCryptoRsaOaepParams*>(m_private->params.get()); | 146 return static_cast<WebCryptoRsaOaepParams*>(m_private->params.get()); |
127 return 0; | 147 return 0; |
128 } | 148 } |
129 | 149 |
130 void WebCryptoAlgorithm::assign(const WebCryptoAlgorithm& other) | 150 void WebCryptoAlgorithm::assign(const WebCryptoAlgorithm& other) |
131 { | 151 { |
132 m_private = other.m_private; | 152 m_private = other.m_private; |
133 } | 153 } |
134 | 154 |
135 void WebCryptoAlgorithm::reset() | 155 void WebCryptoAlgorithm::reset() |
136 { | 156 { |
137 m_private.reset(); | 157 m_private.reset(); |
138 } | 158 } |
139 | 159 |
140 } // namespace WebKit | 160 } // namespace WebKit |
OLD | NEW |