| 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()
|
|
|