Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3238)

Unified Diff: chrome/browser/renderer_host/resource_dispatcher_host.cc

Issue 7276: Adding security info to canceled requests (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/resource_dispatcher_host.cc
===================================================================
--- chrome/browser/renderer_host/resource_dispatcher_host.cc (revision 9948)
+++ chrome/browser/renderer_host/resource_dispatcher_host.cc (working copy)
@@ -202,7 +202,8 @@
handler->OnResponseCompleted(request_id, URLRequestStatus(
URLRequestStatus::FAILED,
- net::ERR_ABORTED));
+ net::ERR_ABORTED),
+ std::string()); // No security info necessary.
return true;
}
@@ -221,7 +222,9 @@
receiver->Send(new ViewMsg_Resource_RequestComplete(
render_view_id,
request_id,
- URLRequestStatus(URLRequestStatus::FAILED, net::ERR_ABORTED)));
+ URLRequestStatus(URLRequestStatus::FAILED, net::ERR_ABORTED),
+ std::string())); // No security info needed, connection was not
+ // established.
return;
}
@@ -916,7 +919,7 @@
if (memory_cost > max_outstanding_requests_cost_per_process_) {
// We call "CancelWithError()" as a way of setting the URLRequest's
// status -- it has no effect beyond this, since the request hasn't started.
- request->CancelWithError(net::ERR_INSUFFICIENT_RESOURCES);
+ request->SimulateError(net::ERR_INSUFFICIENT_RESOURCES);
// TODO(eroman): this is kinda funky -- we insert the unstarted request into
// |pending_requests_| simply to please OnResponseCompleted().
@@ -1118,8 +1121,19 @@
RESOURCE_LOG("OnResponseCompleted: " << request->url().spec());
ExtraRequestInfo* info = ExtraInfoForRequest(request);
+ std::string security_info;
+ const net::SSLInfo& ssl_info = request->ssl_info();
+ if (ssl_info.cert != NULL) {
+ int cert_id = CertStore::GetSharedInstance()->
+ StoreCert(ssl_info.cert, info->render_process_host_id);
+ security_info = SSLManager::SerializeSecurityInfo(cert_id,
+ ssl_info.cert_status,
+ ssl_info.security_bits);
+ }
+
if (info->resource_handler->OnResponseCompleted(info->request_id,
- request->status())) {
+ request->status(),
+ security_info)) {
NotifyResponseCompleted(request, info->render_process_host_id);
// The request is complete so we can remove it.

Powered by Google App Engine
This is Rietveld 408576698