OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/devtools/protocol/security_handler.h" | 5 #include "content/browser/devtools/protocol/security_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "content/browser/devtools/devtools_session.h" | 9 #include "content/browser/devtools/devtools_session.h" |
10 #include "content/browser/frame_host/render_frame_host_impl.h" | 10 #include "content/browser/frame_host/render_frame_host_impl.h" |
11 #include "content/public/browser/navigation_controller.h" | 11 #include "content/public/browser/navigation_controller.h" |
12 #include "content/public/browser/navigation_entry.h" | 12 #include "content/public/browser/navigation_entry.h" |
13 #include "content/public/browser/security_style_explanations.h" | 13 #include "content/public/browser/security_style_explanations.h" |
14 #include "content/public/browser/ssl_status.h" | 14 #include "content/public/browser/ssl_status.h" |
15 #include "content/public/browser/web_contents.h" | 15 #include "content/public/browser/web_contents.h" |
16 #include "content/public/browser/web_contents_delegate.h" | 16 #include "content/public/browser/web_contents_delegate.h" |
17 | 17 |
18 namespace content { | 18 namespace content { |
19 namespace protocol { | 19 namespace protocol { |
20 | 20 |
21 using Explanations = protocol::Array<Security::SecurityStateExplanation>; | 21 using Explanations = protocol::Array<Security::SecurityStateExplanation>; |
22 | 22 |
23 namespace { | 23 namespace { |
24 | 24 |
25 std::string SecurityStyleToProtocolSecurityState( | 25 std::string SecurityStyleToProtocolSecurityState( |
26 blink::WebSecurityStyle security_style) { | 26 blink::WebSecurityStyle security_style) { |
27 switch (security_style) { | 27 switch (security_style) { |
28 case blink::WebSecurityStyleUnknown: | 28 case blink::WebSecurityStyleUnknown: |
29 return Security::SecurityStateEnum::Unknown; | 29 return Security::SecurityStateEnum::Unknown; |
30 case blink::WebSecurityStyleUnauthenticated: | 30 case blink::WebSecurityStyleNeutral: |
31 return Security::SecurityStateEnum::Neutral; | 31 return Security::SecurityStateEnum::Neutral; |
32 case blink::WebSecurityStyleAuthenticationBroken: | 32 case blink::WebSecurityStyleInsecure: |
33 return Security::SecurityStateEnum::Insecure; | 33 return Security::SecurityStateEnum::Insecure; |
34 case blink::WebSecurityStyleWarning: | 34 case blink::WebSecurityStyleWarning: |
35 return Security::SecurityStateEnum::Warning; | 35 return Security::SecurityStateEnum::Warning; |
36 case blink::WebSecurityStyleAuthenticated: | 36 case blink::WebSecurityStyleSecure: |
37 return Security::SecurityStateEnum::Secure; | 37 return Security::SecurityStateEnum::Secure; |
38 default: | 38 default: |
39 NOTREACHED(); | 39 NOTREACHED(); |
40 return Security::SecurityStateEnum::Unknown; | 40 return Security::SecurityStateEnum::Unknown; |
41 } | 41 } |
42 } | 42 } |
43 | 43 |
44 void AddExplanations( | 44 void AddExplanations( |
45 const std::string& security_style, | 45 const std::string& security_style, |
46 const std::vector<SecurityStyleExplanation>& explanations_to_add, | 46 const std::vector<SecurityStyleExplanation>& explanations_to_add, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 SecurityStyleExplanations security_style_explanations; | 102 SecurityStyleExplanations security_style_explanations; |
103 blink::WebSecurityStyle security_style = | 103 blink::WebSecurityStyle security_style = |
104 web_contents()->GetDelegate()->GetSecurityStyle( | 104 web_contents()->GetDelegate()->GetSecurityStyle( |
105 web_contents(), &security_style_explanations); | 105 web_contents(), &security_style_explanations); |
106 | 106 |
107 const std::string security_state = | 107 const std::string security_state = |
108 SecurityStyleToProtocolSecurityState(security_style); | 108 SecurityStyleToProtocolSecurityState(security_style); |
109 | 109 |
110 std::unique_ptr<Explanations> explanations = Explanations::create(); | 110 std::unique_ptr<Explanations> explanations = Explanations::create(); |
111 AddExplanations(Security::SecurityStateEnum::Insecure, | 111 AddExplanations(Security::SecurityStateEnum::Insecure, |
112 security_style_explanations.broken_explanations, | 112 security_style_explanations.insecure_explanations, |
113 explanations.get()); | 113 explanations.get()); |
114 AddExplanations(Security::SecurityStateEnum::Neutral, | 114 AddExplanations(Security::SecurityStateEnum::Neutral, |
115 security_style_explanations.unauthenticated_explanations, | 115 security_style_explanations.neutral_explanations, |
116 explanations.get()); | 116 explanations.get()); |
117 AddExplanations(Security::SecurityStateEnum::Secure, | 117 AddExplanations(Security::SecurityStateEnum::Secure, |
118 security_style_explanations.secure_explanations, | 118 security_style_explanations.secure_explanations, |
119 explanations.get()); | 119 explanations.get()); |
120 AddExplanations(Security::SecurityStateEnum::Info, | 120 AddExplanations(Security::SecurityStateEnum::Info, |
121 security_style_explanations.info_explanations, | 121 security_style_explanations.info_explanations, |
122 explanations.get()); | 122 explanations.get()); |
123 | 123 |
124 std::unique_ptr<Security::InsecureContentStatus> insecure_status = | 124 std::unique_ptr<Security::InsecureContentStatus> insecure_status = |
125 Security::InsecureContentStatus::Create() | 125 Security::InsecureContentStatus::Create() |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 web_contents->GetController().GetVisibleEntry()->GetSSL().certificate; | 168 web_contents->GetController().GetVisibleEntry()->GetSSL().certificate; |
169 if (!certificate) | 169 if (!certificate) |
170 return Response::Error("Could not find certificate"); | 170 return Response::Error("Could not find certificate"); |
171 web_contents->GetDelegate()->ShowCertificateViewerInDevTools( | 171 web_contents->GetDelegate()->ShowCertificateViewerInDevTools( |
172 web_contents, certificate); | 172 web_contents, certificate); |
173 return Response::OK(); | 173 return Response::OK(); |
174 } | 174 } |
175 | 175 |
176 } // namespace protocol | 176 } // namespace protocol |
177 } // namespace content | 177 } // namespace content |
OLD | NEW |