// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_PUBLIC_COMMON_SSL_STATUS_H_ #define CONTENT_PUBLIC_COMMON_SSL_STATUS_H_ #include "content/common/content_export.h" #include "content/public/common/security_style.h" #include "content/public/common/signed_certificate_timestamp_id_and_status.h" #include "net/cert/cert_status_flags.h" namespace content { // Collects the SSL information for this NavigationEntry. struct CONTENT_EXPORT SSLStatus { // Flags used for the page security content status. enum ContentStatusFlags { // HTTP page, or HTTPS page with no insecure content. NORMAL_CONTENT = 0, // HTTPS page containing "displayed" HTTP resources (e.g. images, CSS). DISPLAYED_INSECURE_CONTENT = 1 << 0, // HTTPS page containing "executed" HTTP resources (i.e. script). // Also currently used for HTTPS page containing broken-HTTPS resources; // this is wrong and should be fixed (see comments in // SSLPolicy::OnRequestStarted()). RAN_INSECURE_CONTENT = 1 << 1, }; SSLStatus(); ~SSLStatus(); bool Equals(const SSLStatus& status) const { return security_style == status.security_style && cert_id == status.cert_id && cert_status == status.cert_status && security_bits == status.security_bits && content_status == status.content_status && signed_certificate_timestamp_ids == status.signed_certificate_timestamp_ids; } content::SecurityStyle security_style; int cert_id; net::CertStatus cert_status; int security_bits; int connection_status; // A combination of the ContentStatusFlags above. int content_status; SignedCertificateTimestampIDStatusList signed_certificate_timestamp_ids; }; } // namespace content #endif // CONTENT_PUBLIC_COMMON_SSL_STATUS_H_