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

Unified Diff: headless/public/util/generic_url_request_job.cc

Issue 2695923010: Add Network.setSendRequestIdHeader and use it in headless (Closed)
Patch Set: Fix the layout test Created 3 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: headless/public/util/generic_url_request_job.cc
diff --git a/headless/public/util/generic_url_request_job.cc b/headless/public/util/generic_url_request_job.cc
index a82925d9623c5a77dbcb681a2b00c95c162aecfc..7918dec7836afcb09ae919ffcad04584f3c20cd3 100644
--- a/headless/public/util/generic_url_request_job.cc
+++ b/headless/public/util/generic_url_request_job.cc
@@ -25,6 +25,9 @@ bool IsMethodSafe(const std::string& method) {
method == "TRACE";
}
+// Keep in sync with X_DevTools_Request_Id defined in HTTPNames.json5.
+const char kDevtoolsRequestId[] = "X-DevTools-Request-Id";
+
} // namespace
GenericURLRequestJob::GenericURLRequestJob(
@@ -45,6 +48,11 @@ GenericURLRequestJob::~GenericURLRequestJob() = default;
void GenericURLRequestJob::SetExtraRequestHeaders(
const net::HttpRequestHeaders& headers) {
extra_request_headers_ = headers;
+
+ if (extra_request_headers_.GetHeader(kDevtoolsRequestId,
+ &devtools_request_id_)) {
+ extra_request_headers_.RemoveHeader(kDevtoolsRequestId);
+ }
}
void GenericURLRequestJob::Start() {
@@ -67,7 +75,8 @@ void GenericURLRequestJob::Start() {
}
};
- if (!delegate_->BlockOrRewriteRequest(request_->url(), request_->method(),
+ if (!delegate_->BlockOrRewriteRequest(request_->url(), devtools_request_id_,
+ request_->method(),
request_->referrer(), callback)) {
PrepareCookies(request_->url(), request_->method(),
url::Origin(request_->first_party_for_cookies()));
@@ -118,7 +127,7 @@ void GenericURLRequestJob::OnCookiesAvailable(
// The resource may have been supplied in the request.
const HttpResponse* matched_resource = delegate_->MaybeMatchResource(
- rewritten_url, method, extra_request_headers_);
+ rewritten_url, devtools_request_id_, method, extra_request_headers_);
if (matched_resource) {
OnFetchCompleteExtractHeaders(
@@ -151,7 +160,8 @@ void GenericURLRequestJob::OnFetchComplete(
std::string mime_type;
GetMimeType(&mime_type);
- delegate_->OnResourceLoadComplete(final_url, mime_type, http_response_code);
+ delegate_->OnResourceLoadComplete(final_url, devtools_request_id_, mime_type,
+ http_response_code);
}
int GenericURLRequestJob::ReadRawData(net::IOBuffer* buf, int buf_size) {
@@ -193,4 +203,46 @@ void GenericURLRequestJob::GetLoadTimingInfo(
load_timing_info->receive_headers_end = response_time_;
}
+bool GenericURLRequestJob::Delegate::BlockOrRewriteRequest(
+ const GURL& url,
+ const std::string& devtools_id,
+ const std::string& method,
+ const std::string& referrer,
+ RewriteCallback callback) {
+ return BlockOrRewriteRequest(url, method, referrer, callback);
+}
+
+bool GenericURLRequestJob::Delegate::BlockOrRewriteRequest(
+ const GURL& url,
+ const std::string& method,
+ const std::string& referrer,
+ RewriteCallback callback) {
+ return false;
+}
+
+const GenericURLRequestJob::HttpResponse*
+GenericURLRequestJob::Delegate::MaybeMatchResource(
+ const GURL& url,
+ const std::string& devtools_id,
+ const std::string& method,
+ const net::HttpRequestHeaders& request_headers) {
+ return MaybeMatchResource(url, method, request_headers);
+}
+
+const GenericURLRequestJob::HttpResponse*
+GenericURLRequestJob::Delegate::MaybeMatchResource(
+ const GURL& url,
+ const std::string& method,
+ const net::HttpRequestHeaders& request_headers) {
+ return nullptr;
+}
+
+void GenericURLRequestJob::Delegate::OnResourceLoadComplete(
+ const GURL& final_url,
+ const std::string& devtools_id,
+ const std::string& mime_type,
+ int http_response_code) {
+ OnResourceLoadComplete(final_url, mime_type, http_response_code);
+}
+
} // namespace headless
« no previous file with comments | « headless/public/util/generic_url_request_job.h ('k') | headless/public/util/protocol_handler_request_id_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698