OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ssl/chrome_ssl_host_state_delegate.h" | 5 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 url, GURL(), CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, | 138 url, GURL(), CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, |
139 std::string(), std::move(value)); | 139 std::string(), std::move(value)); |
140 } | 140 } |
141 } | 141 } |
142 } | 142 } |
143 } | 143 } |
144 | 144 |
145 bool HostFilterToPatternFilter( | 145 bool HostFilterToPatternFilter( |
146 const base::Callback<bool(const std::string&)>& host_filter, | 146 const base::Callback<bool(const std::string&)>& host_filter, |
147 const ContentSettingsPattern& primary_pattern, | 147 const ContentSettingsPattern& primary_pattern, |
148 const ContentSettingsPattern& secondary_pattern) { | 148 const ContentSettingsPattern& secondary_pattern, |
| 149 base::Time last_modified) { |
149 // We only ever set origin-scoped exceptions which are of the form | 150 // We only ever set origin-scoped exceptions which are of the form |
150 // "https://<host>:443". That is a valid URL, so we can compare |host_filter| | 151 // "https://<host>:443". That is a valid URL, so we can compare |host_filter| |
151 // against its host. | 152 // against its host. |
152 GURL url = GURL(primary_pattern.ToString()); | 153 GURL url = GURL(primary_pattern.ToString()); |
153 DCHECK(url.is_valid()); | 154 DCHECK(url.is_valid()); |
154 return host_filter.Run(url.host()); | 155 return host_filter.Run(url.host()); |
155 } | 156 } |
156 | 157 |
157 } // namespace | 158 } // namespace |
158 | 159 |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, | 328 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, |
328 std::string(), std::move(value)); | 329 std::string(), std::move(value)); |
329 } | 330 } |
330 | 331 |
331 void ChromeSSLHostStateDelegate::Clear( | 332 void ChromeSSLHostStateDelegate::Clear( |
332 const base::Callback<bool(const std::string&)>& host_filter) { | 333 const base::Callback<bool(const std::string&)>& host_filter) { |
333 // Convert host matching to content settings pattern matching. Content | 334 // Convert host matching to content settings pattern matching. Content |
334 // settings deletion is done synchronously on the UI thread, so we can use | 335 // settings deletion is done synchronously on the UI thread, so we can use |
335 // |host_filter| by reference. | 336 // |host_filter| by reference. |
336 base::Callback<bool(const ContentSettingsPattern& primary_pattern, | 337 base::Callback<bool(const ContentSettingsPattern& primary_pattern, |
337 const ContentSettingsPattern& secondary_pattern)> | 338 const ContentSettingsPattern& secondary_pattern, |
| 339 base::Time last_modified)> |
338 pattern_filter; | 340 pattern_filter; |
339 if (!host_filter.is_null()) { | 341 if (!host_filter.is_null()) { |
340 pattern_filter = | 342 pattern_filter = |
341 base::Bind(&HostFilterToPatternFilter, base::ConstRef(host_filter)); | 343 base::Bind(&HostFilterToPatternFilter, base::ConstRef(host_filter)); |
342 } | 344 } |
343 | 345 |
344 HostContentSettingsMapFactory::GetForProfile(profile_) | 346 HostContentSettingsMapFactory::GetForProfile(profile_) |
345 ->ClearSettingsForOneTypeWithPredicate( | 347 ->ClearSettingsForOneTypeWithPredicate( |
346 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, pattern_filter); | 348 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, std::string(), |
| 349 pattern_filter); |
347 } | 350 } |
348 | 351 |
349 content::SSLHostStateDelegate::CertJudgment | 352 content::SSLHostStateDelegate::CertJudgment |
350 ChromeSSLHostStateDelegate::QueryPolicy(const std::string& host, | 353 ChromeSSLHostStateDelegate::QueryPolicy(const std::string& host, |
351 const net::X509Certificate& cert, | 354 const net::X509Certificate& cert, |
352 net::CertStatus error, | 355 net::CertStatus error, |
353 bool* expired_previous_decision) { | 356 bool* expired_previous_decision) { |
354 HostContentSettingsMap* map = | 357 HostContentSettingsMap* map = |
355 HostContentSettingsMapFactory::GetForProfile(profile_); | 358 HostContentSettingsMapFactory::GetForProfile(profile_); |
356 GURL url = GetSecureGURLForHost(host); | 359 GURL url = GetSecureGURLForHost(host); |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 case CERT_ERRORS_CONTENT: | 490 case CERT_ERRORS_CONTENT: |
488 return !!ran_content_with_cert_errors_hosts_.count( | 491 return !!ran_content_with_cert_errors_hosts_.count( |
489 BrokenHostEntry(host, child_id)); | 492 BrokenHostEntry(host, child_id)); |
490 } | 493 } |
491 NOTREACHED(); | 494 NOTREACHED(); |
492 return false; | 495 return false; |
493 } | 496 } |
494 void ChromeSSLHostStateDelegate::SetClock(std::unique_ptr<base::Clock> clock) { | 497 void ChromeSSLHostStateDelegate::SetClock(std::unique_ptr<base::Clock> clock) { |
495 clock_ = std::move(clock); | 498 clock_ = std::move(clock); |
496 } | 499 } |
OLD | NEW |