| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/ui/webui/net_internals/net_internals_ui.h" | 5 #include "chrome/browser/ui/webui/net_internals/net_internals_ui.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <list> | 8 #include <list> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1213 connection_tester_->RunAllTests(url); | 1213 connection_tester_->RunAllTests(url); |
| 1214 } | 1214 } |
| 1215 | 1215 |
| 1216 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSQuery( | 1216 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSQuery( |
| 1217 const base::ListValue* list) { | 1217 const base::ListValue* list) { |
| 1218 // |list| should be: [<domain to query>]. | 1218 // |list| should be: [<domain to query>]. |
| 1219 std::string domain; | 1219 std::string domain; |
| 1220 CHECK(list->GetString(0, &domain)); | 1220 CHECK(list->GetString(0, &domain)); |
| 1221 base::DictionaryValue* result = new base::DictionaryValue(); | 1221 base::DictionaryValue* result = new base::DictionaryValue(); |
| 1222 | 1222 |
| 1223 if (!IsStringASCII(domain)) { | 1223 if (!base::IsStringASCII(domain)) { |
| 1224 result->SetString("error", "non-ASCII domain name"); | 1224 result->SetString("error", "non-ASCII domain name"); |
| 1225 } else { | 1225 } else { |
| 1226 net::TransportSecurityState* transport_security_state = | 1226 net::TransportSecurityState* transport_security_state = |
| 1227 GetMainContext()->transport_security_state(); | 1227 GetMainContext()->transport_security_state(); |
| 1228 if (!transport_security_state) { | 1228 if (!transport_security_state) { |
| 1229 result->SetString("error", "no TransportSecurityState active"); | 1229 result->SetString("error", "no TransportSecurityState active"); |
| 1230 } else { | 1230 } else { |
| 1231 net::TransportSecurityState::DomainState state; | 1231 net::TransportSecurityState::DomainState state; |
| 1232 const bool found = transport_security_state->GetDomainState( | 1232 const bool found = transport_security_state->GetDomainState( |
| 1233 domain, true, &state); | 1233 domain, true, &state); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1254 | 1254 |
| 1255 SendJavascriptCommand("receivedHSTSResult", result); | 1255 SendJavascriptCommand("receivedHSTSResult", result); |
| 1256 } | 1256 } |
| 1257 | 1257 |
| 1258 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSAdd( | 1258 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSAdd( |
| 1259 const base::ListValue* list) { | 1259 const base::ListValue* list) { |
| 1260 // |list| should be: [<domain to query>, <STS include subdomains>, <PKP | 1260 // |list| should be: [<domain to query>, <STS include subdomains>, <PKP |
| 1261 // include subdomains>, <key pins>]. | 1261 // include subdomains>, <key pins>]. |
| 1262 std::string domain; | 1262 std::string domain; |
| 1263 CHECK(list->GetString(0, &domain)); | 1263 CHECK(list->GetString(0, &domain)); |
| 1264 if (!IsStringASCII(domain)) { | 1264 if (!base::IsStringASCII(domain)) { |
| 1265 // Silently fail. The user will get a helpful error if they query for the | 1265 // Silently fail. The user will get a helpful error if they query for the |
| 1266 // name. | 1266 // name. |
| 1267 return; | 1267 return; |
| 1268 } | 1268 } |
| 1269 bool sts_include_subdomains; | 1269 bool sts_include_subdomains; |
| 1270 CHECK(list->GetBoolean(1, &sts_include_subdomains)); | 1270 CHECK(list->GetBoolean(1, &sts_include_subdomains)); |
| 1271 bool pkp_include_subdomains; | 1271 bool pkp_include_subdomains; |
| 1272 CHECK(list->GetBoolean(2, &pkp_include_subdomains)); | 1272 CHECK(list->GetBoolean(2, &pkp_include_subdomains)); |
| 1273 std::string hashes_str; | 1273 std::string hashes_str; |
| 1274 CHECK(list->GetString(3, &hashes_str)); | 1274 CHECK(list->GetString(3, &hashes_str)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1288 transport_security_state->AddHSTS(domain, expiry, sts_include_subdomains); | 1288 transport_security_state->AddHSTS(domain, expiry, sts_include_subdomains); |
| 1289 transport_security_state->AddHPKP(domain, expiry, pkp_include_subdomains, | 1289 transport_security_state->AddHPKP(domain, expiry, pkp_include_subdomains, |
| 1290 hashes); | 1290 hashes); |
| 1291 } | 1291 } |
| 1292 | 1292 |
| 1293 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSDelete( | 1293 void NetInternalsMessageHandler::IOThreadImpl::OnHSTSDelete( |
| 1294 const base::ListValue* list) { | 1294 const base::ListValue* list) { |
| 1295 // |list| should be: [<domain to query>]. | 1295 // |list| should be: [<domain to query>]. |
| 1296 std::string domain; | 1296 std::string domain; |
| 1297 CHECK(list->GetString(0, &domain)); | 1297 CHECK(list->GetString(0, &domain)); |
| 1298 if (!IsStringASCII(domain)) { | 1298 if (!base::IsStringASCII(domain)) { |
| 1299 // There cannot be a unicode entry in the HSTS set. | 1299 // There cannot be a unicode entry in the HSTS set. |
| 1300 return; | 1300 return; |
| 1301 } | 1301 } |
| 1302 net::TransportSecurityState* transport_security_state = | 1302 net::TransportSecurityState* transport_security_state = |
| 1303 GetMainContext()->transport_security_state(); | 1303 GetMainContext()->transport_security_state(); |
| 1304 if (!transport_security_state) | 1304 if (!transport_security_state) |
| 1305 return; | 1305 return; |
| 1306 | 1306 |
| 1307 transport_security_state->DeleteDynamicDataForHost(domain); | 1307 transport_security_state->DeleteDynamicDataForHost(domain); |
| 1308 } | 1308 } |
| (...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1869 } | 1869 } |
| 1870 | 1870 |
| 1871 NetInternalsUI::NetInternalsUI(content::WebUI* web_ui) | 1871 NetInternalsUI::NetInternalsUI(content::WebUI* web_ui) |
| 1872 : WebUIController(web_ui) { | 1872 : WebUIController(web_ui) { |
| 1873 web_ui->AddMessageHandler(new NetInternalsMessageHandler()); | 1873 web_ui->AddMessageHandler(new NetInternalsMessageHandler()); |
| 1874 | 1874 |
| 1875 // Set up the chrome://net-internals/ source. | 1875 // Set up the chrome://net-internals/ source. |
| 1876 Profile* profile = Profile::FromWebUI(web_ui); | 1876 Profile* profile = Profile::FromWebUI(web_ui); |
| 1877 content::WebUIDataSource::Add(profile, CreateNetInternalsHTMLSource()); | 1877 content::WebUIDataSource::Add(profile, CreateNetInternalsHTMLSource()); |
| 1878 } | 1878 } |
| OLD | NEW |