summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/resource_dispatcher_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/renderer_host/resource_dispatcher_host.cc')
-rw-r--r--chrome/browser/renderer_host/resource_dispatcher_host.cc75
1 files changed, 34 insertions, 41 deletions
diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.cc b/chrome/browser/renderer_host/resource_dispatcher_host.cc
index a17b12b..6fd669e 100644
--- a/chrome/browser/renderer_host/resource_dispatcher_host.cc
+++ b/chrome/browser/renderer_host/resource_dispatcher_host.cc
@@ -78,15 +78,6 @@
#include "chrome/browser/renderer_host/offline_resource_handler.h"
#endif
-// Uncomment to enable logging of request traffic.
-// #define LOG_RESOURCE_DISPATCHER_REQUESTS
-
-#ifdef LOG_RESOURCE_DISPATCHER_REQUESTS
-# define RESOURCE_LOG(stuff) LOG(INFO) << stuff
-#else
-# define RESOURCE_LOG(stuff)
-#endif
-
using base::Time;
using base::TimeDelta;
using base::TimeTicks;
@@ -143,8 +134,8 @@ bool ShouldServiceRequest(ChildProcessInfo::ProcessType process_type,
// Check if the renderer is permitted to request the requested URL.
if (!policy->CanRequestURL(child_id, request_data.url)) {
- LOG(INFO) << "Denied unauthorized request for " <<
- request_data.url.possibly_invalid_spec();
+ VLOG(1) << "Denied unauthorized request for "
+ << request_data.url.possibly_invalid_spec();
return false;
}
@@ -449,11 +440,13 @@ void ResourceDispatcherHost::BeginRequest(
request->SetExtraRequestHeaders(headers);
int load_flags = request_data.load_flags;
- // EV certificate verification could be expensive. We don't want to spend
- // time performing EV certificate verification on all resources because
- // EV status is irrelevant to sub-frames and sub-resources.
+ // Although EV status is irrelevant to sub-frames and sub-resources, we have
+ // to perform EV certificate verification on all resources because an HTTP
+ // keep-alive connection created to load a sub-frame or a sub-resource could
+ // be reused to load a main frame.
+ load_flags |= net::LOAD_VERIFY_EV_CERT;
if (request_data.resource_type == ResourceType::MAIN_FRAME) {
- load_flags |= net::LOAD_VERIFY_EV_CERT | net::LOAD_MAIN_FRAME;
+ load_flags |= net::LOAD_MAIN_FRAME;
} else if (request_data.resource_type == ResourceType::SUB_FRAME) {
load_flags |= net::LOAD_SUB_FRAME;
}
@@ -462,7 +455,7 @@ void ResourceDispatcherHost::BeginRequest(
if ((load_flags & net::LOAD_REPORT_RAW_HEADERS)
&& !ChildProcessSecurityPolicy::GetInstance()->
CanReadRawCookies(child_id)) {
- LOG(INFO) << "Denied unathorized request for raw headers";
+ VLOG(1) << "Denied unathorized request for raw headers";
load_flags &= ~net::LOAD_REPORT_RAW_HEADERS;
}
@@ -704,8 +697,8 @@ void ResourceDispatcherHost::BeginDownload(
// Check if the renderer is permitted to request the requested URL.
if (!ChildProcessSecurityPolicy::GetInstance()->
CanRequestURL(child_id, url)) {
- LOG(INFO) << "Denied unauthorized download request for " <<
- url.possibly_invalid_spec();
+ VLOG(1) << "Denied unauthorized download request for "
+ << url.possibly_invalid_spec();
return;
}
@@ -716,7 +709,7 @@ void ResourceDispatcherHost::BeginDownload(
request_id_--;
- scoped_refptr<ResourceHandler> handler =
+ scoped_refptr<ResourceHandler> handler(
new DownloadResourceHandler(this,
child_id,
route_id,
@@ -725,7 +718,7 @@ void ResourceDispatcherHost::BeginDownload(
download_file_manager_.get(),
request,
prompt_for_save_location,
- save_info);
+ save_info));
if (safe_browsing_->enabled()) {
handler = CreateSafeBrowsingResourceHandler(handler, child_id, route_id,
@@ -733,8 +726,8 @@ void ResourceDispatcherHost::BeginDownload(
}
if (!URLRequest::IsHandledURL(url)) {
- LOG(INFO) << "Download request for unsupported protocol: " <<
- url.possibly_invalid_spec();
+ VLOG(1) << "Download request for unsupported protocol: "
+ << url.possibly_invalid_spec();
return;
}
@@ -766,11 +759,11 @@ void ResourceDispatcherHost::BeginSaveFile(const GURL& url,
// requests. Does nothing if they are already loaded.
PluginService::GetInstance()->LoadChromePlugins(this);
- scoped_refptr<ResourceHandler> handler =
+ scoped_refptr<ResourceHandler> handler(
new SaveFileResourceHandler(child_id,
route_id,
url,
- save_file_manager_.get());
+ save_file_manager_.get()));
request_id_--;
bool known_proto = URLRequest::IsHandledURL(url);
@@ -876,7 +869,7 @@ void ResourceDispatcherHost::PauseRequest(int child_id,
}
info->set_pause_count(pause_count);
- RESOURCE_LOG("To pause (" << pause << "): " << i->second->url().spec());
+ VLOG(1) << "To pause (" << pause << "): " << i->second->url().spec();
// If we're resuming, kick the request to start reading again. Run the read
// asynchronously to avoid recursion problems.
@@ -1006,7 +999,7 @@ void ResourceDispatcherHost::RemovePendingRequest(
void ResourceDispatcherHost::OnReceivedRedirect(URLRequest* request,
const GURL& new_url,
bool* defer_redirect) {
- RESOURCE_LOG("OnReceivedRedirect: " << request->url().spec());
+ VLOG(1) << "OnReceivedRedirect: " << request->url().spec();
ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
DCHECK(request->status().is_success());
@@ -1014,8 +1007,8 @@ void ResourceDispatcherHost::OnReceivedRedirect(URLRequest* request,
if (info->process_type() != ChildProcessInfo::PLUGIN_PROCESS &&
!ChildProcessSecurityPolicy::GetInstance()->
CanRequestURL(info->child_id(), new_url)) {
- LOG(INFO) << "Denied unauthorized request for " <<
- new_url.possibly_invalid_spec();
+ VLOG(1) << "Denied unauthorized request for "
+ << new_url.possibly_invalid_spec();
// Tell the renderer that this request was disallowed.
CancelRequestInternal(request, false);
@@ -1032,7 +1025,7 @@ void ResourceDispatcherHost::OnReceivedRedirect(URLRequest* request,
return;
}
- scoped_refptr<ResourceResponse> response = new ResourceResponse;
+ scoped_refptr<ResourceResponse> response(new ResourceResponse);
PopulateResourceResponse(request,
info->replace_extension_localization_templates(), response);
if (!info->resource_handler()->OnRequestRedirected(info->request_id(),
@@ -1086,7 +1079,7 @@ void ResourceDispatcherHost::OnSSLCertificateError(
void ResourceDispatcherHost::OnSetCookie(URLRequest* request,
const std::string& cookie_line,
bool blocked_by_policy) {
- RESOURCE_LOG("OnSetCookie: " << request->url().spec());
+ VLOG(1) << "OnSetCookie: " << request->url().spec();
int render_process_id, render_view_id;
if (!RenderViewForRequest(request, &render_process_id, &render_view_id))
@@ -1099,10 +1092,10 @@ void ResourceDispatcherHost::OnSetCookie(URLRequest* request,
}
void ResourceDispatcherHost::OnResponseStarted(URLRequest* request) {
- RESOURCE_LOG("OnResponseStarted: " << request->url().spec());
+ VLOG(1) << "OnResponseStarted: " << request->url().spec();
ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
if (PauseRequestIfNeeded(info)) {
- RESOURCE_LOG("OnResponseStarted pausing: " << request->url().spec());
+ VLOG(1) << "OnResponseStarted pausing: " << request->url().spec();
return;
}
@@ -1118,7 +1111,7 @@ void ResourceDispatcherHost::OnResponseStarted(URLRequest* request) {
} else {
// Check if the handler paused the request in their OnResponseStarted.
if (PauseRequestIfNeeded(info)) {
- RESOURCE_LOG("OnResponseStarted pausing2: " << request->url().spec());
+ VLOG(1) << "OnResponseStarted pausing2: " << request->url().spec();
return;
}
@@ -1132,7 +1125,7 @@ void ResourceDispatcherHost::OnResponseStarted(URLRequest* request) {
bool ResourceDispatcherHost::CompleteResponseStarted(URLRequest* request) {
ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
- scoped_refptr<ResourceResponse> response = new ResourceResponse;
+ scoped_refptr<ResourceResponse> response(new ResourceResponse);
PopulateResourceResponse(request,
info->replace_extension_localization_templates(), response);
@@ -1176,7 +1169,7 @@ void ResourceDispatcherHost::CancelRequest(int child_id,
void ResourceDispatcherHost::CancelRequestInternal(URLRequest* request,
bool from_renderer) {
- RESOURCE_LOG("CancelRequest: " << request->url().spec());
+ VLOG(1) << "CancelRequest: " << request->url().spec();
// WebKit will send us a cancel for downloads since it no longer handles them.
// In this case, ignore the cancel since we handle downloads in the browser.
@@ -1347,7 +1340,7 @@ void ResourceDispatcherHost::ResumeRequest(const GlobalRequestID& request_id) {
if (!info->is_paused())
return;
- RESOURCE_LOG("Resuming: " << i->second->url().spec());
+ VLOG(1) << "Resuming: " << i->second->url().spec();
info->set_is_paused(false);
@@ -1395,7 +1388,7 @@ bool ResourceDispatcherHost::Read(URLRequest* request, int* bytes_read) {
void ResourceDispatcherHost::OnReadCompleted(URLRequest* request,
int bytes_read) {
DCHECK(request);
- RESOURCE_LOG("OnReadCompleted: " << request->url().spec());
+ VLOG(1) << "OnReadCompleted: " << request->url().spec();
ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
// OnReadCompleted can be called without Read (e.g., for chrome:// URLs).
@@ -1404,7 +1397,7 @@ void ResourceDispatcherHost::OnReadCompleted(URLRequest* request,
if (PauseRequestIfNeeded(info)) {
info->set_paused_read_bytes(bytes_read);
- RESOURCE_LOG("OnReadCompleted pausing: " << request->url().spec());
+ VLOG(1) << "OnReadCompleted pausing: " << request->url().spec();
return;
}
@@ -1434,8 +1427,8 @@ void ResourceDispatcherHost::OnReadCompleted(URLRequest* request,
if (PauseRequestIfNeeded(info)) {
info->set_paused_read_bytes(bytes_read);
- RESOURCE_LOG("OnReadCompleted (CompleteRead) pausing: " <<
- request->url().spec());
+ VLOG(1) << "OnReadCompleted (CompleteRead) pausing: "
+ << request->url().spec();
return;
}
@@ -1463,7 +1456,7 @@ bool ResourceDispatcherHost::CompleteRead(URLRequest* request,
}
void ResourceDispatcherHost::OnResponseCompleted(URLRequest* request) {
- RESOURCE_LOG("OnResponseCompleted: " << request->url().spec());
+ VLOG(1) << "OnResponseCompleted: " << request->url().spec();
ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
// If the load for a main frame has failed, track it in a histogram,