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

Side by Side Diff: net/cert/nss_cert_database.h

Issue 851503003: Update from https://crrev.com/311076 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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 unified diff | Download patch
« no previous file with comments | « net/base/sdch_problem_code_list.h ('k') | net/cookies/parsed_cookie.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef NET_CERT_NSS_CERT_DATABASE_H_ 5 #ifndef NET_CERT_NSS_CERT_DATABASE_H_
6 #define NET_CERT_NSS_CERT_DATABASE_H_ 6 #define NET_CERT_NSS_CERT_DATABASE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 // If |slot| is NULL, obtains the certs of all slots, otherwise only of 256 // If |slot| is NULL, obtains the certs of all slots, otherwise only of
257 // |slot|. 257 // |slot|.
258 static void ListCertsImpl(crypto::ScopedPK11Slot slot, 258 static void ListCertsImpl(crypto::ScopedPK11Slot slot,
259 CertificateList* certs); 259 CertificateList* certs);
260 260
261 // Gets task runner that should be used for slow tasks like certificate 261 // Gets task runner that should be used for slow tasks like certificate
262 // listing. Defaults to a base::WorkerPool runner, but may be overriden 262 // listing. Defaults to a base::WorkerPool runner, but may be overriden
263 // in tests (see SetSlowTaskRunnerForTest). 263 // in tests (see SetSlowTaskRunnerForTest).
264 scoped_refptr<base::TaskRunner> GetSlowTaskRunner() const; 264 scoped_refptr<base::TaskRunner> GetSlowTaskRunner() const;
265 265
266 protected:
267 // Broadcasts notifications to all registered observers.
268 void NotifyObserversOfCertAdded(const X509Certificate* cert);
269 void NotifyObserversOfCertRemoved(const X509Certificate* cert);
270 void NotifyObserversOfCACertChanged(const X509Certificate* cert);
271
266 private: 272 private:
267 // Registers |observer| to receive notifications of certificate changes. The 273 // Registers |observer| to receive notifications of certificate changes. The
268 // thread on which this is called is the thread on which |observer| will be 274 // thread on which this is called is the thread on which |observer| will be
269 // called back with notifications. 275 // called back with notifications.
270 // NOTE: Observers registered here will only receive notifications generated 276 // NOTE: Observers registered here will only receive notifications generated
271 // directly through the NSSCertDatabase, but not those from the CertDatabase. 277 // directly through the NSSCertDatabase, but not those from the CertDatabase.
272 // CertDatabase observers will receive all certificate notifications. 278 // CertDatabase observers will receive all certificate notifications.
273 void AddObserver(Observer* observer); 279 void AddObserver(Observer* observer);
274 280
275 // Unregisters |observer| from receiving notifications. This must be called 281 // Unregisters |observer| from receiving notifications. This must be called
276 // on the same thread on which AddObserver() was called. 282 // on the same thread on which AddObserver() was called.
277 void RemoveObserver(Observer* observer); 283 void RemoveObserver(Observer* observer);
278 284
279 // Notifies observers of the removal of |cert| and calls |callback| with 285 // Notifies observers of the removal of |cert| and calls |callback| with
280 // |success| as argument. 286 // |success| as argument.
281 void NotifyCertRemovalAndCallBack(scoped_refptr<X509Certificate> cert, 287 void NotifyCertRemovalAndCallBack(scoped_refptr<X509Certificate> cert,
282 const DeleteCertCallback& callback, 288 const DeleteCertCallback& callback,
283 bool success); 289 bool success);
284 290
285 // Broadcasts notifications to all registered observers.
286 void NotifyObserversOfCertAdded(const X509Certificate* cert);
287 void NotifyObserversOfCertRemoved(const X509Certificate* cert);
288 void NotifyObserversOfCACertChanged(const X509Certificate* cert);
289
290 // Certificate removal implementation used by |DeleteCertAndKey*|. Static so 291 // Certificate removal implementation used by |DeleteCertAndKey*|. Static so
291 // it may safely be used on the worker thread. 292 // it may safely be used on the worker thread.
292 static bool DeleteCertAndKeyImpl(scoped_refptr<X509Certificate> cert); 293 static bool DeleteCertAndKeyImpl(scoped_refptr<X509Certificate> cert);
293 294
294 crypto::ScopedPK11Slot public_slot_; 295 crypto::ScopedPK11Slot public_slot_;
295 crypto::ScopedPK11Slot private_slot_; 296 crypto::ScopedPK11Slot private_slot_;
296 297
297 // A helper observer that forwards events from this database to CertDatabase. 298 // A helper observer that forwards events from this database to CertDatabase.
298 scoped_ptr<Observer> cert_notification_forwarder_; 299 scoped_ptr<Observer> cert_notification_forwarder_;
299 300
300 // Task runner that should be used in tests if set. 301 // Task runner that should be used in tests if set.
301 scoped_refptr<base::TaskRunner> slow_task_runner_for_test_; 302 scoped_refptr<base::TaskRunner> slow_task_runner_for_test_;
302 303
303 const scoped_refptr<ObserverListThreadSafe<Observer> > observer_list_; 304 const scoped_refptr<ObserverListThreadSafe<Observer> > observer_list_;
304 305
305 base::WeakPtrFactory<NSSCertDatabase> weak_factory_; 306 base::WeakPtrFactory<NSSCertDatabase> weak_factory_;
306 307
307 DISALLOW_COPY_AND_ASSIGN(NSSCertDatabase); 308 DISALLOW_COPY_AND_ASSIGN(NSSCertDatabase);
308 }; 309 };
309 310
310 } // namespace net 311 } // namespace net
311 312
312 #endif // NET_CERT_NSS_CERT_DATABASE_H_ 313 #endif // NET_CERT_NSS_CERT_DATABASE_H_
OLDNEW
« no previous file with comments | « net/base/sdch_problem_code_list.h ('k') | net/cookies/parsed_cookie.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698