| Index: chrome/browser/renderer_host/resource_dispatcher_host.cc
|
| diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.cc b/chrome/browser/renderer_host/resource_dispatcher_host.cc
|
| index 5bfe4453261528d6712b8c79b005aa67919377f2..018f001d2ca2627c541d223e5fe56b0105d0729b 100644
|
| --- a/chrome/browser/renderer_host/resource_dispatcher_host.cc
|
| +++ b/chrome/browser/renderer_host/resource_dispatcher_host.cc
|
| @@ -1074,6 +1074,18 @@ void ResourceDispatcherHost::OnSSLCertificateError(
|
| SSLManager::OnSSLCertificateError(this, request, cert_error, cert);
|
| }
|
|
|
| +void ResourceDispatcherHost::OnTLSLoginRequired(
|
| + net::URLRequest* request,
|
| + net::AuthChallengeInfo* auth_info) {
|
| + DCHECK(request);
|
| +
|
| + LOG(INFO) << "OnTLSLoginRequired";
|
| + ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
|
| + DCHECK(!info->login_handler()) <<
|
| + "OnTLSLoginRequired called with login_handler pending";
|
| + info->set_login_handler(CreateLoginPrompt(auth_info, request));
|
| +}
|
| +
|
| void ResourceDispatcherHost::OnGetCookies(
|
| net::URLRequest* request,
|
| bool blocked_by_policy) {
|
| @@ -1157,7 +1169,15 @@ bool ResourceDispatcherHost::CompleteResponseStarted(net::URLRequest* request) {
|
| SSLManager::SerializeSecurityInfo(
|
| cert_id, request->ssl_info().cert_status,
|
| request->ssl_info().security_bits,
|
| - request->ssl_info().connection_status);
|
| + request->ssl_info().connection_status,
|
| + request->ssl_info().tls_username);
|
| + } else if (!request->ssl_info().tls_username.empty()) {
|
| + response->response_head.security_info =
|
| + SSLManager::SerializeSecurityInfo(
|
| + 0, 0,
|
| + request->ssl_info().security_bits,
|
| + request->ssl_info().connection_status,
|
| + request->ssl_info().tls_username);
|
| } else {
|
| // We should not have any SSL state.
|
| DCHECK(!request->ssl_info().cert_status &&
|
| @@ -1496,7 +1516,12 @@ void ResourceDispatcherHost::OnResponseCompleted(net::URLRequest* request) {
|
| info->child_id());
|
| security_info = SSLManager::SerializeSecurityInfo(
|
| cert_id, ssl_info.cert_status, ssl_info.security_bits,
|
| - ssl_info.connection_status);
|
| + ssl_info.connection_status, ssl_info.tls_username);
|
| + } else if (!ssl_info.tls_username.empty()) {
|
| + security_info = SSLManager::SerializeSecurityInfo(
|
| + 0, 0,
|
| + ssl_info.security_bits, ssl_info.connection_status,
|
| + ssl_info.tls_username);
|
| }
|
|
|
| if (info->resource_handler()->OnResponseCompleted(info->request_id(),
|
|
|