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

Side by Side Diff: chrome/browser/chromeos/platform_keys/platform_keys_nss.cc

Issue 2858073002: Use constexpr TaskTraits constructor in chrome. (Closed)
Patch Set: Created 3 years, 7 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <cert.h> 5 #include <cert.h>
6 #include <cryptohi.h> 6 #include <cryptohi.h>
7 #include <keyhi.h> 7 #include <keyhi.h>
8 #include <secder.h> 8 #include <secder.h>
9 #include <stddef.h> 9 #include <stddef.h>
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 } 434 }
435 435
436 // Continues generating a RSA key with the obtained NSSCertDatabase. Used by 436 // Continues generating a RSA key with the obtained NSSCertDatabase. Used by
437 // GenerateRSAKey(). 437 // GenerateRSAKey().
438 void GenerateRSAKeyWithDB(std::unique_ptr<GenerateRSAKeyState> state, 438 void GenerateRSAKeyWithDB(std::unique_ptr<GenerateRSAKeyState> state,
439 net::NSSCertDatabase* cert_db) { 439 net::NSSCertDatabase* cert_db) {
440 DCHECK_CURRENTLY_ON(BrowserThread::IO); 440 DCHECK_CURRENTLY_ON(BrowserThread::IO);
441 // Only the slot and not the NSSCertDatabase is required. Ignore |cert_db|. 441 // Only the slot and not the NSSCertDatabase is required. Ignore |cert_db|.
442 // This task interacts with the TPM, hence MayBlock(). 442 // This task interacts with the TPM, hence MayBlock().
443 base::PostTaskWithTraits( 443 base::PostTaskWithTraits(
444 FROM_HERE, base::TaskTraits() 444 FROM_HERE,
445 .MayBlock() 445 {base::MayBlock(), base::TaskPriority::BACKGROUND,
446 .WithPriority(base::TaskPriority::BACKGROUND) 446 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
447 .WithShutdownBehavior(
448 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN),
449 base::Bind(&GenerateRSAKeyOnWorkerThread, base::Passed(&state))); 447 base::Bind(&GenerateRSAKeyOnWorkerThread, base::Passed(&state)));
450 } 448 }
451 449
452 // Does the actual signing on a worker thread. Used by SignRSAWithDB(). 450 // Does the actual signing on a worker thread. Used by SignRSAWithDB().
453 void SignRSAOnWorkerThread(std::unique_ptr<SignRSAState> state) { 451 void SignRSAOnWorkerThread(std::unique_ptr<SignRSAState> state) {
454 const uint8_t* public_key_uint8 = 452 const uint8_t* public_key_uint8 =
455 reinterpret_cast<const uint8_t*>(state->public_key_.data()); 453 reinterpret_cast<const uint8_t*>(state->public_key_.data());
456 std::vector<uint8_t> public_key_vector( 454 std::vector<uint8_t> public_key_vector(
457 public_key_uint8, public_key_uint8 + state->public_key_.size()); 455 public_key_uint8, public_key_uint8 + state->public_key_.size());
458 456
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 state->CallBack(FROM_HERE, signature_str, std::string() /* no error */); 528 state->CallBack(FROM_HERE, signature_str, std::string() /* no error */);
531 } 529 }
532 530
533 // Continues signing with the obtained NSSCertDatabase. Used by Sign(). 531 // Continues signing with the obtained NSSCertDatabase. Used by Sign().
534 void SignRSAWithDB(std::unique_ptr<SignRSAState> state, 532 void SignRSAWithDB(std::unique_ptr<SignRSAState> state,
535 net::NSSCertDatabase* cert_db) { 533 net::NSSCertDatabase* cert_db) {
536 DCHECK_CURRENTLY_ON(BrowserThread::IO); 534 DCHECK_CURRENTLY_ON(BrowserThread::IO);
537 // Only the slot and not the NSSCertDatabase is required. Ignore |cert_db|. 535 // Only the slot and not the NSSCertDatabase is required. Ignore |cert_db|.
538 // This task interacts with the TPM, hence MayBlock(). 536 // This task interacts with the TPM, hence MayBlock().
539 base::PostTaskWithTraits( 537 base::PostTaskWithTraits(
540 FROM_HERE, base::TaskTraits() 538 FROM_HERE,
541 .MayBlock() 539 {base::MayBlock(), base::TaskPriority::BACKGROUND,
542 .WithPriority(base::TaskPriority::BACKGROUND) 540 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
543 .WithShutdownBehavior(
544 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN),
545 base::Bind(&SignRSAOnWorkerThread, base::Passed(&state))); 541 base::Bind(&SignRSAOnWorkerThread, base::Passed(&state)));
546 } 542 }
547 543
548 // Called when ClientCertStoreChromeOS::GetClientCerts is done. Builds the list 544 // Called when ClientCertStoreChromeOS::GetClientCerts is done. Builds the list
549 // of net::CertificateList and calls back. Used by 545 // of net::CertificateList and calls back. Used by
550 // SelectCertificatesOnIOThread(). 546 // SelectCertificatesOnIOThread().
551 void DidSelectCertificatesOnIOThread( 547 void DidSelectCertificatesOnIOThread(
552 std::unique_ptr<SelectCertificatesState> state, 548 std::unique_ptr<SelectCertificatesState> state,
553 net::CertificateList certs) { 549 net::CertificateList certs) {
554 DCHECK_CURRENTLY_ON(BrowserThread::IO); 550 DCHECK_CURRENTLY_ON(BrowserThread::IO);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 } 596 }
601 597
602 // Passes the obtained certificates to the worker thread for filtering. Used by 598 // Passes the obtained certificates to the worker thread for filtering. Used by
603 // GetCertificatesWithDB(). 599 // GetCertificatesWithDB().
604 void DidGetCertificates(std::unique_ptr<GetCertificatesState> state, 600 void DidGetCertificates(std::unique_ptr<GetCertificatesState> state,
605 std::unique_ptr<net::CertificateList> all_certs) { 601 std::unique_ptr<net::CertificateList> all_certs) {
606 DCHECK_CURRENTLY_ON(BrowserThread::IO); 602 DCHECK_CURRENTLY_ON(BrowserThread::IO);
607 state->certs_ = std::move(all_certs); 603 state->certs_ = std::move(all_certs);
608 // This task interacts with the TPM, hence MayBlock(). 604 // This task interacts with the TPM, hence MayBlock().
609 base::PostTaskWithTraits( 605 base::PostTaskWithTraits(
610 FROM_HERE, base::TaskTraits() 606 FROM_HERE,
611 .MayBlock() 607 {base::MayBlock(), base::TaskPriority::BACKGROUND,
612 .WithPriority(base::TaskPriority::BACKGROUND) 608 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
613 .WithShutdownBehavior(
614 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN),
615 base::Bind(&FilterCertificatesOnWorkerThread, base::Passed(&state))); 609 base::Bind(&FilterCertificatesOnWorkerThread, base::Passed(&state)));
616 } 610 }
617 611
618 // Continues getting certificates with the obtained NSSCertDatabase. Used by 612 // Continues getting certificates with the obtained NSSCertDatabase. Used by
619 // GetCertificates(). 613 // GetCertificates().
620 void GetCertificatesWithDB(std::unique_ptr<GetCertificatesState> state, 614 void GetCertificatesWithDB(std::unique_ptr<GetCertificatesState> state,
621 net::NSSCertDatabase* cert_db) { 615 net::NSSCertDatabase* cert_db) {
622 DCHECK_CURRENTLY_ON(BrowserThread::IO); 616 DCHECK_CURRENTLY_ON(BrowserThread::IO);
623 // Get the pointer to slot before base::Passed releases |state|. 617 // Get the pointer to slot before base::Passed releases |state|.
624 PK11SlotInfo* slot = state->slot_.get(); 618 PK11SlotInfo* slot = state->slot_.get();
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 NSSOperationState* state_ptr = state.get(); 899 NSSOperationState* state_ptr = state.get();
906 GetCertDatabase(std::string() /* don't get any specific slot */, 900 GetCertDatabase(std::string() /* don't get any specific slot */,
907 base::Bind(&GetTokensWithDB, base::Passed(&state)), 901 base::Bind(&GetTokensWithDB, base::Passed(&state)),
908 browser_context, 902 browser_context,
909 state_ptr); 903 state_ptr);
910 } 904 }
911 905
912 } // namespace platform_keys 906 } // namespace platform_keys
913 907
914 } // namespace chromeos 908 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/platform_keys/platform_keys.cc ('k') | chrome/browser/chromeos/policy/device_status_collector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698