Index: components/security_state/core/security_state_model.cc |
diff --git a/components/security_state/security_state_model.cc b/components/security_state/core/security_state_model.cc |
similarity index 91% |
rename from components/security_state/security_state_model.cc |
rename to components/security_state/core/security_state_model.cc |
index ad131d00972caede6e55f6bb28163f26b7f84898..c5177076856c72b4ff565ace0ad883cccace6872 100644 |
--- a/components/security_state/security_state_model.cc |
+++ b/components/security_state/core/security_state_model.cc |
@@ -2,15 +2,14 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "components/security_state/security_state_model.h" |
+#include "components/security_state/core/security_state_model.h" |
#include <stdint.h> |
#include "base/command_line.h" |
#include "base/metrics/field_trial.h" |
#include "base/metrics/histogram_macros.h" |
-#include "components/security_state/security_state_model_client.h" |
-#include "components/security_state/switches.h" |
+#include "components/security_state/core/switches.h" |
#include "net/ssl/ssl_cipher_suite_names.h" |
#include "net/ssl/ssl_connection_status_flags.h" |
@@ -118,7 +117,8 @@ SecurityStateModel::ContentStatus GetContentStatus(bool displayed, bool ran) { |
SecurityStateModel::SecurityLevel GetSecurityLevelForRequest( |
const SecurityStateModel::VisibleSecurityState& visible_security_state, |
- SecurityStateModelClient* client, |
+ bool used_policy_installed_certificate, |
+ const SecurityStateModel::IsOriginSecureCallback& is_origin_secure_callback, |
SecurityStateModel::SHA1DeprecationStatus sha1_status, |
SecurityStateModel::ContentStatus mixed_content_status, |
SecurityStateModel::ContentStatus content_with_cert_errors_status) { |
@@ -144,7 +144,7 @@ SecurityStateModel::SecurityLevel GetSecurityLevelForRequest( |
// Choose the appropriate security level for HTTP requests. |
if (!is_cryptographic_with_certificate) { |
- if (!client->IsOriginSecure(url) && url.IsStandard()) { |
+ if (!is_origin_secure_callback.Run(url) && url.IsStandard()) { |
return GetSecurityLevelForNonSecureFieldTrial( |
visible_security_state.displayed_password_field_on_http || |
visible_security_state.displayed_credit_card_field_on_http); |
@@ -168,7 +168,7 @@ SecurityStateModel::SecurityLevel GetSecurityLevelForRequest( |
// indicator of a MITM being present (the enterprise), while the |
// other authenticated-but-with-errors indicate something may |
// be wrong, or may be wrong in the future, but is unclear now. |
- if (client->UsedPolicyInstalledCertificate()) |
+ if (used_policy_installed_certificate) |
return SecurityStateModel::SECURE_WITH_POLICY_INSTALLED_CERT; |
if (sha1_status == SecurityStateModel::DEPRECATED_SHA1_MAJOR) |
@@ -201,8 +201,9 @@ SecurityStateModel::SecurityLevel GetSecurityLevelForRequest( |
} |
void SecurityInfoForRequest( |
- SecurityStateModelClient* client, |
const SecurityStateModel::VisibleSecurityState& visible_security_state, |
+ bool used_policy_installed_certificate, |
+ const SecurityStateModel::IsOriginSecureCallback& is_origin_secure_callback, |
SecurityStateModel::SecurityInfo* security_info) { |
if (!visible_security_state.connection_info_initialized) { |
*security_info = SecurityStateModel::SecurityInfo(); |
@@ -210,7 +211,8 @@ void SecurityInfoForRequest( |
visible_security_state.fails_malware_check; |
if (security_info->fails_malware_check) { |
security_info->security_level = GetSecurityLevelForRequest( |
- visible_security_state, client, SecurityStateModel::UNKNOWN_SHA1, |
+ visible_security_state, used_policy_installed_certificate, |
+ is_origin_secure_callback, SecurityStateModel::UNKNOWN_SHA1, |
SecurityStateModel::CONTENT_STATUS_UNKNOWN, |
SecurityStateModel::CONTENT_STATUS_UNKNOWN); |
} |
@@ -245,7 +247,8 @@ void SecurityInfoForRequest( |
visible_security_state.displayed_credit_card_field_on_http; |
security_info->security_level = GetSecurityLevelForRequest( |
- visible_security_state, client, security_info->sha1_deprecation_status, |
+ visible_security_state, used_policy_installed_certificate, |
+ is_origin_secure_callback, security_info->sha1_deprecation_status, |
security_info->mixed_content_status, |
security_info->content_with_cert_errors_status); |
} |
@@ -281,14 +284,13 @@ SecurityStateModel::SecurityStateModel() {} |
SecurityStateModel::~SecurityStateModel() {} |
void SecurityStateModel::GetSecurityInfo( |
- SecurityStateModel::SecurityInfo* result) const { |
- VisibleSecurityState new_visible_state; |
- client_->GetVisibleSecurityState(&new_visible_state); |
- SecurityInfoForRequest(client_, new_visible_state, result); |
-} |
- |
-void SecurityStateModel::SetClient(SecurityStateModelClient* client) { |
- client_ = client; |
+ SecurityStateModel::SecurityInfo* result, |
+ std::unique_ptr<VisibleSecurityState> visible_security_state, |
+ bool used_policy_installed_certificate, |
+ IsOriginSecureCallback is_origin_secure_callback) const { |
+ SecurityInfoForRequest(*visible_security_state, |
+ used_policy_installed_certificate, |
+ is_origin_secure_callback, result); |
} |
SecurityStateModel::VisibleSecurityState::VisibleSecurityState() |