| Index: net/cert/multi_log_ct_verifier.cc
|
| diff --git a/net/cert/multi_log_ct_verifier.cc b/net/cert/multi_log_ct_verifier.cc
|
| index 2a654ab9815e207f747473b87ec61c52617f61c8..6e290396b9affd934484d90ed93b2e8fb1f9b3fc 100644
|
| --- a/net/cert/multi_log_ct_verifier.cc
|
| +++ b/net/cert/multi_log_ct_verifier.cc
|
| @@ -60,26 +60,17 @@ MultiLogCTVerifier::MultiLogCTVerifier() { }
|
|
|
| MultiLogCTVerifier::~MultiLogCTVerifier() { }
|
|
|
| -void MultiLogCTVerifier::AddLog(scoped_ptr<CTLogVerifier> log_verifier) {
|
| - DCHECK(log_verifier);
|
| - if (!log_verifier)
|
| - return;
|
| -
|
| - linked_ptr<CTLogVerifier> log(log_verifier.release());
|
| - logs_[log->key_id()] = log;
|
| -}
|
| -
|
| void MultiLogCTVerifier::AddLogs(
|
| - ScopedVector<CTLogVerifier> log_verifiers) {
|
| - for (ScopedVector<CTLogVerifier>::iterator it =
|
| - log_verifiers.begin(); it != log_verifiers.end(); ++it) {
|
| + const std::vector<linked_ptr<CTLogVerifier>>& log_verifiers) {
|
| + for (auto it = log_verifiers.begin(); it != log_verifiers.end(); ++it) {
|
| linked_ptr<CTLogVerifier> log(*it);
|
| VLOG(1) << "Adding CT log: " << log->description();
|
| logs_[log->key_id()] = log;
|
| }
|
| +}
|
|
|
| - // Ownership of the pointers in |log_verifiers| is transferred to |logs_|
|
| - log_verifiers.weak_clear();
|
| +void MultiLogCTVerifier::SetObserver(Observer* observer) {
|
| + observer_ = observer;
|
| }
|
|
|
| int MultiLogCTVerifier::Verify(
|
| @@ -231,7 +222,14 @@ bool MultiLogCTVerifier::VerifySingleSCT(
|
|
|
| LogSCTStatusToUMA(ct::SCT_STATUS_OK);
|
| result->verified_scts.push_back(sct);
|
| + if (observer_)
|
| + observer_->OnSCTVerified(sct.get(), it->second.get());
|
| return true;
|
| }
|
|
|
| +void MultiLogCTVerifier::StopNotifications() {
|
| + DVLOG(1) << "Stopping notifications.";
|
| + observer_ = nullptr;
|
| +}
|
| +
|
| } // namespace net
|
|
|