| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "chrome/browser/cert_store.h" | 5 #include "chrome/browser/cert_store.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <functional> | 8 #include <functional> |
| 9 | 9 |
| 10 #include "base/stl_util-inl.h" | 10 #include "base/stl_util-inl.h" |
| 11 #include "chrome/browser/renderer_host/render_process_host.h" | 11 #include "chrome/browser/renderer_host/render_process_host.h" |
| 12 #include "chrome/browser/renderer_host/render_view_host.h" | 12 #include "chrome/browser/renderer_host/render_view_host.h" |
| 13 #include "chrome/common/notification_service.h" | 13 #include "chrome/common/notification_service.h" |
| 14 | 14 |
| 15 template <typename T> | 15 template <typename T> |
| 16 struct MatchSecond { | 16 struct MatchSecond { |
| 17 explicit MatchSecond(const T& t) : value(t) {} | 17 explicit MatchSecond(const T& t) : value(t) {} |
| 18 | 18 |
| 19 template<typename Pair> | 19 template<typename Pair> |
| 20 bool operator()(const Pair& p) const { | 20 bool operator()(const Pair& p) const { |
| 21 return (value == p.second); | 21 return (value == p.second); |
| 22 } | 22 } |
| 23 T value; | 23 T value; |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 // static | 26 // static |
| 27 CertStore* CertStore::GetSharedInstance() { | 27 CertStore* CertStore::GetInstance() { |
| 28 return Singleton<CertStore>::get(); | 28 return Singleton<CertStore>::get(); |
| 29 } | 29 } |
| 30 | 30 |
| 31 CertStore::CertStore() : next_cert_id_(1) { | 31 CertStore::CertStore() : next_cert_id_(1) { |
| 32 // We watch for RenderProcess termination, as this is how we clear | 32 // We watch for RenderProcess termination, as this is how we clear |
| 33 // certificates for now. | 33 // certificates for now. |
| 34 // TODO(jcampan): we should be listening to events such as resource cached/ | 34 // TODO(jcampan): we should be listening to events such as resource cached/ |
| 35 // removed from cache, and remove the cert when we know it | 35 // removed from cache, and remove the cert when we know it |
| 36 // is not used anymore. | 36 // is not used anymore. |
| 37 | 37 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 | 137 |
| 138 void CertStore::Observe(NotificationType type, | 138 void CertStore::Observe(NotificationType type, |
| 139 const NotificationSource& source, | 139 const NotificationSource& source, |
| 140 const NotificationDetails& details) { | 140 const NotificationDetails& details) { |
| 141 DCHECK(type == NotificationType::RENDERER_PROCESS_TERMINATED || | 141 DCHECK(type == NotificationType::RENDERER_PROCESS_TERMINATED || |
| 142 type == NotificationType::RENDERER_PROCESS_CLOSED); | 142 type == NotificationType::RENDERER_PROCESS_CLOSED); |
| 143 RenderProcessHost* rph = Source<RenderProcessHost>(source).ptr(); | 143 RenderProcessHost* rph = Source<RenderProcessHost>(source).ptr(); |
| 144 DCHECK(rph); | 144 DCHECK(rph); |
| 145 RemoveCertsForRenderProcesHost(rph->id()); | 145 RemoveCertsForRenderProcesHost(rph->id()); |
| 146 } | 146 } |
| OLD | NEW |