Commit 9accc09a authored by horo's avatar horo Committed by Commit bot

[ServiceWorker] Don't pass DevTools related HTTP headers to the ServiceWorker

"X-DevTools-Request-Initiator" and "X-DevTools-Emulate-Network-Conditions-Client-Id" HTTP headers may be set by InspectorResourceAgent when the inspector window is open.
This headers are removed by DevToolsNetworkTransaction before sending the request to the network.
But when the request passed to the ServiceWorker these headers are not removed.
This may cause accidental problems.

BUG=419318

Review URL: https://codereview.chromium.org/615413002

Cr-Commit-Position: refs/heads/master@{#297807}
parent 2ffa5f6b
......@@ -13,6 +13,9 @@
namespace {
// Keep in sync with kDevToolsRequestInitiator and
// kDevToolsEmulateNetworkConditionsClientId defined in
// service_worker_url_request_job.cc and InspectorResourceAgent.cpp.
const char kDevToolsRequestInitiator[] = "X-DevTools-Request-Initiator";
const char kDevToolsEmulateNetworkConditionsClientId[] =
"X-DevTools-Emulate-Network-Conditions-Client-Id";
......
......@@ -30,6 +30,17 @@
namespace content {
namespace {
// Keep in sync with kDevToolsRequestInitiator and
// kDevToolsEmulateNetworkConditionsClientId defined in
// devtools_network_transaction.cc and InspectorResourceAgent.cpp.
const char kDevToolsRequestInitiator[] = "X-DevTools-Request-Initiator";
const char kDevToolsEmulateNetworkConditionsClientId[] =
"X-DevTools-Emulate-Network-Conditions-Client-Id";
} // namespace
ServiceWorkerURLRequestJob::ServiceWorkerURLRequestJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate,
......@@ -274,8 +285,13 @@ ServiceWorkerURLRequestJob::CreateFetchRequest() {
request->url = request_->url();
request->method = request_->method();
const net::HttpRequestHeaders& headers = request_->extra_request_headers();
for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();)
for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) {
if (it.name() == kDevToolsRequestInitiator ||
it.name() == kDevToolsEmulateNetworkConditionsClientId) {
continue;
}
request->headers[it.name()] = it.value();
}
request->blob_uuid = blob_uuid;
request->blob_size = blob_size;
request->referrer = GURL(request_->referrer());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment