| // Copyright 2014 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 IOS_WEB_PUBLIC_SSL_STATUS_H_ |
| #define IOS_WEB_PUBLIC_SSL_STATUS_H_ |
| |
| #include "ios/web/public/security_style.h" |
| #include "net/cert/cert_status_flags.h" |
| |
| namespace web { |
| |
| // Collects the SSL information for this NavigationItem. |
| struct 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, |
| |
| // The RAN_INSECURE_CONTENT flag is intentionally omitted on iOS because |
| // there is no way to tell when insecure content is run in a web view. |
| }; |
| |
| 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; |
| } |
| |
| web::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; |
| }; |
| |
| } // namespace web |
| |
| #endif // IOS_WEB_PUBLIC_SSL_STATUS_H_ |