blob: 6e23eb7dd7594b5c0d61b376bc9e75f176345973 [file] [log] [blame]
// 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_