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 |