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

Unified Diff: content/browser/loader/async_resource_handler.cc

Issue 2481093003: Introduce ResourceRequesterInfo to abstract the requester of resource request (Closed)
Patch Set: Created 4 years, 1 month 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: content/browser/loader/async_resource_handler.cc
diff --git a/content/browser/loader/async_resource_handler.cc b/content/browser/loader/async_resource_handler.cc
index 2c5badcd5e11c2ca7f1a71ae40b66e60ddf8f82b..9ef64b7ab1af1b5d6e04201d7a85c985eafb1182 100644
--- a/content/browser/loader/async_resource_handler.cc
+++ b/content/browser/loader/async_resource_handler.cc
@@ -260,6 +260,7 @@ void AsyncResourceHandler::OnUploadProgressACK(int request_id) {
void AsyncResourceHandler::ReportUploadProgress() {
DCHECK(GetRequestInfo()->is_upload_progress_enabled());
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
if (waiting_for_upload_progress_ack_)
return; // Send one progress event at a time.
@@ -282,7 +283,7 @@ void AsyncResourceHandler::ReportUploadProgress() {
bool too_much_time_passed = time_since_last > kOneSecond;
if (is_finished || enough_new_progress || too_much_time_passed) {
- ResourceMessageFilter* filter = GetFilter();
+ BrowserMessageFilter* filter = GetFilter();
if (filter) {
filter->Send(
new ResourceMsg_UploadProgress(GetRequestID(),
@@ -299,8 +300,9 @@ bool AsyncResourceHandler::OnRequestRedirected(
const net::RedirectInfo& redirect_info,
ResourceResponse* response,
bool* defer) {
- const ResourceRequestInfoImpl* info = GetRequestInfo();
- if (!info->filter())
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
+ BrowserMessageFilter* filter = GetFilter();
+ if (!filter)
return false;
*defer = did_defer_ = true;
@@ -315,12 +317,13 @@ bool AsyncResourceHandler::OnRequestRedirected(
// cookies? The only case where it can change is top-level navigation requests
// and hopefully those will eventually all be owned by the browser. It's
// possible this is still needed while renderer-owned ones exist.
- return info->filter()->Send(new ResourceMsg_ReceivedRedirect(
+ return filter->Send(new ResourceMsg_ReceivedRedirect(
GetRequestID(), redirect_info, response->head));
}
bool AsyncResourceHandler::OnResponseStarted(ResourceResponse* response,
bool* defer) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
// For changes to the main frame, inform the renderer of the new URL's
// per-host settings before the request actually commits. This way the
// renderer will be able to set these precisely at the time the
@@ -331,7 +334,8 @@ bool AsyncResourceHandler::OnResponseStarted(ResourceResponse* response,
progress_timer_.Stop();
const ResourceRequestInfoImpl* info = GetRequestInfo();
- if (!info->filter())
+ BrowserMessageFilter* filter = GetFilter();
+ if (!filter)
return false;
// We want to send a final upload progress message prior to sending the
@@ -360,16 +364,15 @@ bool AsyncResourceHandler::OnResponseStarted(ResourceResponse* response,
response->head.request_start = request()->creation_time();
response->head.response_start = TimeTicks::Now();
- info->filter()->Send(new ResourceMsg_ReceivedResponse(GetRequestID(),
- response->head));
+ filter->Send(
+ new ResourceMsg_ReceivedResponse(GetRequestID(), response->head));
sent_received_response_msg_ = true;
if (request()->response_info().metadata.get()) {
std::vector<char> copy(request()->response_info().metadata->data(),
request()->response_info().metadata->data() +
request()->response_info().metadata->size());
- info->filter()->Send(new ResourceMsg_ReceivedCachedMetadata(GetRequestID(),
- copy));
+ filter->Send(new ResourceMsg_ReceivedCachedMetadata(GetRequestID(), copy));
}
inlining_helper_->OnResponseReceived(*response);
@@ -377,6 +380,7 @@ bool AsyncResourceHandler::OnResponseStarted(ResourceResponse* response,
}
bool AsyncResourceHandler::OnWillStart(const GURL& url, bool* defer) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
if (GetRequestInfo()->is_upload_progress_enabled() &&
request()->has_upload()) {
ReportUploadProgress();
@@ -392,6 +396,7 @@ bool AsyncResourceHandler::OnWillStart(const GURL& url, bool* defer) {
bool AsyncResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
int* buf_size,
int min_size) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
DCHECK_EQ(-1, min_size);
if (!CheckForSufficientResource())
@@ -416,12 +421,13 @@ bool AsyncResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
}
bool AsyncResourceHandler::OnReadCompleted(int bytes_read, bool* defer) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
DCHECK_GE(bytes_read, 0);
if (!bytes_read)
return true;
- ResourceMessageFilter* filter = GetFilter();
+ BrowserMessageFilter* filter = GetFilter();
if (!filter)
return false;
@@ -467,9 +473,10 @@ bool AsyncResourceHandler::OnReadCompleted(int bytes_read, bool* defer) {
}
void AsyncResourceHandler::OnDataDownloaded(int bytes_downloaded) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
int encoded_data_length = CalculateEncodedDataLengthToReport();
- ResourceMessageFilter* filter = GetFilter();
+ BrowserMessageFilter* filter = GetFilter();
if (filter) {
filter->Send(new ResourceMsg_DataDownloaded(
GetRequestID(), bytes_downloaded, encoded_data_length));
@@ -479,8 +486,10 @@ void AsyncResourceHandler::OnDataDownloaded(int bytes_downloaded) {
void AsyncResourceHandler::OnResponseCompleted(
const net::URLRequestStatus& status,
bool* defer) {
+ DCHECK(GetRequestInfo()->requester_info().IsRenderer());
const ResourceRequestInfoImpl* info = GetRequestInfo();
- if (!info->filter())
+ BrowserMessageFilter* filter = GetFilter();
+ if (!filter)
return;
// If we crash here, figure out what URL the renderer was requesting.
@@ -513,7 +522,7 @@ void AsyncResourceHandler::OnResponseCompleted(
request_complete_data.completion_time = TimeTicks::Now();
request_complete_data.encoded_data_length =
request()->GetTotalReceivedBytes();
- info->filter()->Send(
+ filter->Send(
new ResourceMsg_RequestComplete(GetRequestID(), request_complete_data));
if (status.is_success())

Powered by Google App Engine
This is Rietveld 408576698