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

Unified Diff: content/browser/webui/url_data_manager_backend.cc

Issue 14039004: Add int params to URLDataSource::StartDataRequest(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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: content/browser/webui/url_data_manager_backend.cc
diff --git a/content/browser/webui/url_data_manager_backend.cc b/content/browser/webui/url_data_manager_backend.cc
index 102f61c92787cdc68a3004e242092f82c82fd607..374570ea4b9f3837d8a4fbe8c2d1ed721682fe03 100644
--- a/content/browser/webui/url_data_manager_backend.cc
+++ b/content/browser/webui/url_data_manager_backend.cc
@@ -28,6 +28,7 @@
#include "content/browser/webui/url_data_source_impl.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
+#include "content/public/browser/resource_request_info.h"
#include "content/public/common/url_constants.h"
#include "googleurl/src/url_util.h"
#include "net/base/io_buffer.h"
@@ -87,6 +88,21 @@ void URLToRequest(const GURL& url, std::string* source_name,
path->assign(spec.substr(offset));
}
+// Fills extra request fields struct from |request|.
+void FillExtraRequestInfo(
+ bool is_incognito,
+ const net::URLRequest* request,
+ URLDataSource::ExtraRequestInfo* request_info) {
+ request_info->is_incognito = is_incognito;
+ request_info->render_process_id = -1;
+ request_info->render_view_id = -1;
+ const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
+ if (info) {
+ info->GetAssociatedRenderView(&request_info->render_process_id,
+ &request_info->render_view_id);
+ }
+}
+
} // namespace
// URLRequestChromeJob is a net::URLRequestJob that manages running
@@ -506,11 +522,14 @@ bool URLDataManagerBackend::StartRequest(const net::URLRequest* request,
job->set_deny_xframe_options(
source->source()->ShouldDenyXFrameOptions());
+ // Add extra info for the request.
+ URLDataSource::ExtraRequestInfo request_info;
+ FillExtraRequestInfo(job->is_incognito(), request, &request_info);
+
// Forward along the request to the data source.
MessageLoop* target_message_loop =
source->source()->MessageLoopForRequestPath(path);
if (!target_message_loop) {
- bool is_incognito = job->is_incognito();
job->MimeTypeAvailable(source->source()->GetMimeType(path));
// Eliminate potentially dangling pointer to avoid future use.
job = NULL;
@@ -519,7 +538,7 @@ bool URLDataManagerBackend::StartRequest(const net::URLRequest* request,
// on for this path. Call directly into it from this thread, the IO
// thread.
source->source()->StartDataRequest(
- path, is_incognito,
+ path, request_info,
base::Bind(&URLDataSourceImpl::SendResponse, source, request_id));
} else {
// URLRequestChromeJob should receive mime type before data. This
@@ -537,7 +556,7 @@ bool URLDataManagerBackend::StartRequest(const net::URLRequest* request,
target_message_loop->PostTask(
FROM_HERE,
base::Bind(&URLDataManagerBackend::CallStartRequest,
- make_scoped_refptr(source), path, job->is_incognito(),
+ make_scoped_refptr(source), path, request_info,
request_id));
}
return true;
@@ -546,11 +565,11 @@ bool URLDataManagerBackend::StartRequest(const net::URLRequest* request,
void URLDataManagerBackend::CallStartRequest(
scoped_refptr<URLDataSourceImpl> source,
const std::string& path,
- bool is_incognito,
+ const URLDataSource::ExtraRequestInfo& info,
int request_id) {
source->source()->StartDataRequest(
path,
- is_incognito,
+ info,
base::Bind(&URLDataSourceImpl::SendResponse, source, request_id));
}

Powered by Google App Engine
This is Rietveld 408576698