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

Unified Diff: chromeos/cert_loader.h

Issue 144423007: Make NSSCertDatabase::ListCerts work async on a worker thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added bug # Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chromeos/cert_loader.h
diff --git a/chromeos/cert_loader.h b/chromeos/cert_loader.h
index 94f6a4114fb67ddc0dd7d83743df76ffb81088db..16c1dbdfb097179ab31d162205edf7683834e198 100644
--- a/chromeos/cert_loader.h
+++ b/chromeos/cert_loader.h
@@ -17,10 +17,6 @@
#include "chromeos/chromeos_export.h"
#include "net/cert/cert_database.h"
-namespace base {
-class TaskRunner;
-}
-
namespace net {
class NSSCertDatabase;
class X509Certificate;
@@ -64,14 +60,12 @@ class CHROMEOS_EXPORT CertLoader : public net::CertDatabase::Observer {
static std::string GetPkcs11IdForCert(const net::X509Certificate& cert);
// Starts the CertLoader with the NSS cert database.
- // The CertLoader will _not_ take the ownership of the database.
+ // The CertLoader will _not_ take the ownership of the database, but it
+ // expects it to stay alive at least until the shutdown starts on the main
+ // thread. This assumes that |StartWithNSSDB| and other methods directly
+ // using |database_| are not called during shutdown.
void StartWithNSSDB(net::NSSCertDatabase* database);
- // Sets the task runner that any slow calls will be made from, e.g. calls
- // to the NSS database. If not set, uses base::WorkerPool.
- void SetSlowTaskRunnerForTest(
- const scoped_refptr<base::TaskRunner>& task_runner);
-
void AddObserver(CertLoader::Observer* observer);
void RemoveObserver(CertLoader::Observer* observer);
@@ -104,7 +98,7 @@ class CHROMEOS_EXPORT CertLoader : public net::CertDatabase::Observer {
void LoadCertificates();
// Called if a certificate load task is finished.
- void UpdateCertificates(net::CertificateList* cert_list);
+ void UpdateCertificates(scoped_ptr<net::CertificateList> cert_list);
void NotifyCertificatesLoaded(bool initial_load);
@@ -132,10 +126,6 @@ class CHROMEOS_EXPORT CertLoader : public net::CertDatabase::Observer {
base::ThreadChecker thread_checker_;
- // TaskRunner that, if set, replaces base::WorkerPool. Should only be set in
- // tests.
- scoped_refptr<base::TaskRunner> slow_task_runner_for_test_;
-
base::WeakPtrFactory<CertLoader> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(CertLoader);

Powered by Google App Engine
This is Rietveld 408576698