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

Side by Side Diff: third_party/WebKit/Source/platform/exported/WebCryptoAlgorithm.cpp

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 months 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 14 matching lines...) Expand all
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 "public/platform/WebCryptoAlgorithm.h" 31 #include "public/platform/WebCryptoAlgorithm.h"
32 32
33 #include "public/platform/WebCryptoAlgorithmParams.h" 33 #include "public/platform/WebCryptoAlgorithmParams.h"
34 #include "wtf/Assertions.h" 34 #include "wtf/Assertions.h"
35 #include "wtf/OwnPtr.h" 35 #include "wtf/PtrUtil.h"
36 #include "wtf/StdLibExtras.h" 36 #include "wtf/StdLibExtras.h"
37 #include "wtf/ThreadSafeRefCounted.h" 37 #include "wtf/ThreadSafeRefCounted.h"
38 #include <memory>
38 39
39 namespace blink { 40 namespace blink {
40 41
41 namespace { 42 namespace {
42 43
43 // A mapping from the algorithm ID to information about the algorithm. 44 // A mapping from the algorithm ID to information about the algorithm.
44 const WebCryptoAlgorithmInfo algorithmIdToInfo[] = { 45 const WebCryptoAlgorithmInfo algorithmIdToInfo[] = {
45 { // Index 0 46 { // Index 0
46 "AES-CBC", { 47 "AES-CBC", {
47 WebCryptoAlgorithmParamsTypeAesCbcParams, // Encrypt 48 WebCryptoAlgorithmParamsTypeAesCbcParams, // Encrypt
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 static_assert(WebCryptoAlgorithmIdEcdh == 13, "ECDH id must match"); 289 static_assert(WebCryptoAlgorithmIdEcdh == 13, "ECDH id must match");
289 static_assert(WebCryptoAlgorithmIdHkdf == 14, "HKDF id must match"); 290 static_assert(WebCryptoAlgorithmIdHkdf == 14, "HKDF id must match");
290 static_assert(WebCryptoAlgorithmIdPbkdf2 == 15, "Pbkdf2 id must match"); 291 static_assert(WebCryptoAlgorithmIdPbkdf2 == 15, "Pbkdf2 id must match");
291 static_assert(WebCryptoAlgorithmIdLast == 15, "last id must match"); 292 static_assert(WebCryptoAlgorithmIdLast == 15, "last id must match");
292 static_assert(10 == WebCryptoOperationLast, "the parameter mapping needs to be u pdated"); 293 static_assert(10 == WebCryptoOperationLast, "the parameter mapping needs to be u pdated");
293 294
294 } // namespace 295 } // namespace
295 296
296 class WebCryptoAlgorithmPrivate : public ThreadSafeRefCounted<WebCryptoAlgorithm Private> { 297 class WebCryptoAlgorithmPrivate : public ThreadSafeRefCounted<WebCryptoAlgorithm Private> {
297 public: 298 public:
298 WebCryptoAlgorithmPrivate(WebCryptoAlgorithmId id, PassOwnPtr<WebCryptoAlgor ithmParams> params) 299 WebCryptoAlgorithmPrivate(WebCryptoAlgorithmId id, std::unique_ptr<WebCrypto AlgorithmParams> params)
299 : id(id) 300 : id(id)
300 , params(std::move(params)) 301 , params(std::move(params))
301 { 302 {
302 } 303 }
303 304
304 WebCryptoAlgorithmId id; 305 WebCryptoAlgorithmId id;
305 OwnPtr<WebCryptoAlgorithmParams> params; 306 std::unique_ptr<WebCryptoAlgorithmParams> params;
306 }; 307 };
307 308
308 WebCryptoAlgorithm::WebCryptoAlgorithm(WebCryptoAlgorithmId id, PassOwnPtr<WebCr yptoAlgorithmParams> params) 309 WebCryptoAlgorithm::WebCryptoAlgorithm(WebCryptoAlgorithmId id, std::unique_ptr< WebCryptoAlgorithmParams> params)
309 : m_private(adoptRef(new WebCryptoAlgorithmPrivate(id, std::move(params)))) 310 : m_private(adoptRef(new WebCryptoAlgorithmPrivate(id, std::move(params))))
310 { 311 {
311 } 312 }
312 313
313 WebCryptoAlgorithm WebCryptoAlgorithm::createNull() 314 WebCryptoAlgorithm WebCryptoAlgorithm::createNull()
314 { 315 {
315 return WebCryptoAlgorithm(); 316 return WebCryptoAlgorithm();
316 } 317 }
317 318
318 WebCryptoAlgorithm WebCryptoAlgorithm::adoptParamsAndCreate(WebCryptoAlgorithmId id, WebCryptoAlgorithmParams* params) 319 WebCryptoAlgorithm WebCryptoAlgorithm::adoptParamsAndCreate(WebCryptoAlgorithmId id, WebCryptoAlgorithmParams* params)
319 { 320 {
320 return WebCryptoAlgorithm(id, adoptPtr(params)); 321 return WebCryptoAlgorithm(id, wrapUnique(params));
321 } 322 }
322 323
323 const WebCryptoAlgorithmInfo* WebCryptoAlgorithm::lookupAlgorithmInfo(WebCryptoA lgorithmId id) 324 const WebCryptoAlgorithmInfo* WebCryptoAlgorithm::lookupAlgorithmInfo(WebCryptoA lgorithmId id)
324 { 325 {
325 const unsigned idInt = id; 326 const unsigned idInt = id;
326 if (idInt >= WTF_ARRAY_LENGTH(algorithmIdToInfo)) 327 if (idInt >= WTF_ARRAY_LENGTH(algorithmIdToInfo))
327 return 0; 328 return 0;
328 return &algorithmIdToInfo[id]; 329 return &algorithmIdToInfo[id];
329 } 330 }
330 331
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 { 538 {
538 m_private = other.m_private; 539 m_private = other.m_private;
539 } 540 }
540 541
541 void WebCryptoAlgorithm::reset() 542 void WebCryptoAlgorithm::reset()
542 { 543 {
543 m_private.reset(); 544 m_private.reset();
544 } 545 }
545 546
546 } // namespace blink 547 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698