Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / public / browser / security_style_explanations.h
bloba8c9006af0b1b9b58fd57dd260900db131ae0ac4
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_PUBLIC_BROWSER_SECURITY_STYLE_EXPLANATIONS_H_
6 #define CONTENT_PUBLIC_BROWSER_SECURITY_STYLE_EXPLANATIONS_H_
8 #include <vector>
10 #include "content/common/content_export.h"
11 #include "content/public/browser/security_style_explanation.h"
12 #include "content/public/common/security_style.h"
14 namespace content {
16 // SecurityStyleExplanations contains information about why a particular
17 // SecurityStyle was chosen for a page. This information includes the
18 // mixed content status of the page and whether the page was loaded over
19 // a cryptographically secure transport. Additionally,
20 // SecurityStyleExplanations contains human-readable
21 // SecurityStyleExplanation objects that the embedder can use to
22 // describe embedder-specific security policies. Each
23 // SecurityStyleExplanation is a single security property of a page (for
24 // example, an expired certificate, a valid certificate, or the presence
25 // of a deprecated crypto algorithm). A single site may have multiple
26 // different explanations of "secure", "warning", and "broken" severity
27 // levels.
28 struct SecurityStyleExplanations {
29 CONTENT_EXPORT SecurityStyleExplanations();
30 CONTENT_EXPORT ~SecurityStyleExplanations();
32 // True if the page ran insecure content such as scripts.
33 bool ran_insecure_content;
34 // True if the page displayed insecure content such as images.
35 bool displayed_insecure_content;
37 // The SecurityStyle assigned to a page that runs or displays insecure
38 // content, respectively. These values are used to convey the effect
39 // that mixed content has on the overall SecurityStyle of the page;
40 // for example, a |displayed_insecure_content_style| value of
41 // SECURITY_STYLE_UNAUTHENTICATED indicates that the page's overall
42 // SecurityStyle will be downgraded to UNAUTHENTICATED as a result of
43 // displaying insecure content.
44 SecurityStyle ran_insecure_content_style;
45 SecurityStyle displayed_insecure_content_style;
47 bool scheme_is_cryptographic;
49 std::vector<SecurityStyleExplanation> secure_explanations;
50 std::vector<SecurityStyleExplanation> warning_explanations;
51 std::vector<SecurityStyleExplanation> broken_explanations;
54 } // namespace content
56 #endif // CONTENT_PUBLIC_BROWSER_SECURITY_STYLE_EXPLANATION_H_