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

Unified Diff: net/url_request/url_request_http_job.cc

Issue 1662763002: [ON HOLD] Implement pull-based design for content decoding (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactor common logic Created 4 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: net/url_request/url_request_http_job.cc
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
index 6204faa4d2abc55ccade5d7314c87c8baac2dcb2..8c7a9eb0f49011bb947b7da020e69ca127f48da8 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -230,7 +230,7 @@ URLRequestHttpJob::~URLRequestHttpJob() {
}
// Make sure SDCH filters are told to emit histogram data while
// filter_context_ is still alive.
- DestroyFilters();
+ // DestroyFilters();
DoneWithRequest(ABORTED);
}
@@ -1085,27 +1085,21 @@ void URLRequestHttpJob::PopulateNetErrorDetails(
return transaction_->PopulateNetErrorDetails(details);
}
-Filter* URLRequestHttpJob::SetupFilter() const {
+scoped_ptr<StreamSource> URLRequestHttpJob::SetupSource() {
DCHECK(transaction_.get());
if (!response_info_)
return NULL;
- std::vector<Filter::FilterType> encoding_types;
std::string encoding_type;
+ std::vector<std::string> encoding_types;
HttpResponseHeaders* headers = GetResponseHeaders();
size_t iter = 0;
while (headers->EnumerateHeader(&iter, "Content-Encoding", &encoding_type)) {
- encoding_types.push_back(Filter::ConvertEncodingToType(encoding_type));
+ encoding_types.push_back(base::ToLowerASCII(encoding_type));
}
- // Even if encoding types are empty, there is a chance that we need to add
- // some decoding, as some proxies strip encoding completely. In such cases,
- // we may need to add (for example) SDCH filtering (when the context suggests
- // it is appropriate).
- Filter::FixupEncodingTypes(*filter_context_, &encoding_types);
-
- return !encoding_types.empty()
- ? Filter::Factory(encoding_types, *filter_context_) : NULL;
+ return StreamSource::BuildSourceChain(URLRequestJob::SetupSource(),
+ encoding_types, nullptr);
}
bool URLRequestHttpJob::CopyFragmentOnRedirect(const GURL& location) const {

Powered by Google App Engine
This is Rietveld 408576698