diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 17:20:18 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 17:20:18 +0000 |
commit | c940d37d3a861790ab8aece6ba5df75a65d60427 (patch) | |
tree | 03f3dea92ecf9f27e16c9450b40c3e850bd2352e /net/base/cert_database.cc | |
parent | 7ec9b3d8a08c1127d82b605f5159d0a4c1a3e02b (diff) | |
download | chromium_src-c940d37d3a861790ab8aece6ba5df75a65d60427.zip chromium_src-c940d37d3a861790ab8aece6ba5df75a65d60427.tar.gz chromium_src-c940d37d3a861790ab8aece6ba5df75a65d60427.tar.bz2 |
Fix a problem that cert trust change needs a chrome restart to be effective.
This seems to be caused by CertVerifier's verification result cache.
- Added a new OnCertTrustChanged to CertDatabase::Observer;
- For NSS cert database, SetCertTrust triggers OnCertTrustChanged;
- Clear CertVerifier's result cache when OnCertDatabaseChanged is fired;
BUG=chromium-os:7988
TEST=Verify #2 issue in chromium-os:7988 where cert trust change only takes
effect after chrome restart.
Review URL: http://codereview.chromium.org/6816035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81433 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/cert_database.cc')
-rw-r--r-- | net/base/cert_database.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/base/cert_database.cc b/net/base/cert_database.cc index 70e7a9b..b8c9aa3 100644 --- a/net/base/cert_database.cc +++ b/net/base/cert_database.cc @@ -46,9 +46,15 @@ void CertDatabase::RemoveObserver(Observer* observer) { CertDatabaseNotifier::GetInstance()->observer_list_->RemoveObserver(observer); } -void CertDatabase::NotifyObserversOfUserCertAdded(X509Certificate* cert) { +void CertDatabase::NotifyObserversOfUserCertAdded(const X509Certificate* cert) { CertDatabaseNotifier::GetInstance()->observer_list_->Notify( &CertDatabase::Observer::OnUserCertAdded, make_scoped_refptr(cert)); } +void CertDatabase::NotifyObserversOfCertTrustChanged( + const X509Certificate* cert) { + CertDatabaseNotifier::GetInstance()->observer_list_->Notify( + &CertDatabase::Observer::OnCertTrustChanged, make_scoped_refptr(cert)); +} + } // namespace net |