Index: net/url_request/url_request_job.cc |
diff --git a/net/url_request/url_request_job.cc b/net/url_request/url_request_job.cc |
index 36101953c6c6c2966cbb29d83b80231d79200868..5d32c6f78447b4d5439b82793e79ec5c3df94cf8 100644 |
--- a/net/url_request/url_request_job.cc |
+++ b/net/url_request/url_request_job.cc |
@@ -11,6 +11,7 @@ |
#include "base/profiler/scoped_tracker.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
+#include "base/values.h" |
#include "net/base/auth.h" |
#include "net/base/host_port_pair.h" |
#include "net/base/io_buffer.h" |
@@ -21,6 +22,18 @@ |
#include "net/http/http_response_headers.h" |
#include "net/url_request/url_request.h" |
+namespace { |
+ |
+// Callback for TYPE_URL_REQUEST_FILTERS_SET net-internals event. |
+base::Value* FiltersSetCallback(net::Filter* filter, |
+ enum net::NetLog::LogLevel /* log_level */) { |
+ base::DictionaryValue* event_params = new base::DictionaryValue(); |
+ event_params->SetString("filters", filter->OrderedFilterList()); |
+ return event_params; |
+} |
+ |
+} // namespace |
+ |
namespace net { |
URLRequestJob::URLRequestJob(URLRequest* request, |
@@ -424,6 +437,10 @@ void URLRequestJob::NotifyHeadersComplete() { |
request_->GetResponseHeaderByName("content-length", &content_length); |
if (!content_length.empty()) |
base::StringToInt64(content_length, &expected_content_size_); |
+ } else { |
+ request_->net_log().AddEvent( |
+ NetLog::TYPE_URL_REQUEST_FILTERS_SET, |
+ base::Bind(&FiltersSetCallback, base::Unretained(filter_.get()))); |
} |
// TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |