Index: net/url_request/url_request_file_job.cc |
diff --git a/net/url_request/url_request_file_job.cc b/net/url_request/url_request_file_job.cc |
index fb224764895ea0f77d24bb488d4b4a85ad92531b..8f96f404c9125dfb37c090b06d2ac1810fdde2bf 100644 |
--- a/net/url_request/url_request_file_job.cc |
+++ b/net/url_request/url_request_file_job.cc |
@@ -33,7 +33,8 @@ |
#include "net/base/io_buffer.h" |
#include "net/base/load_flags.h" |
#include "net/base/mime_util.h" |
-#include "net/filter/filter.h" |
+#include "net/filter/gzip_source_stream.h" |
+#include "net/filter/source_stream.h" |
#include "net/http/http_util.h" |
#include "net/url_request/url_request_error_job.h" |
#include "net/url_request/url_request_file_dir_job.h" |
@@ -145,13 +146,6 @@ bool URLRequestFileJob::IsRedirectResponse(GURL* location, |
#endif |
} |
-std::unique_ptr<Filter> URLRequestFileJob::SetupFilter() const { |
- // Bug 9936 - .svgz files needs to be decompressed. |
- return base::LowerCaseEqualsASCII(file_path_.Extension(), ".svgz") |
- ? Filter::GZipFactory() |
- : nullptr; |
-} |
- |
bool URLRequestFileJob::GetMimeType(std::string* mime_type) const { |
DCHECK(request_); |
if (meta_info_.mime_type_result) { |
@@ -192,6 +186,14 @@ void URLRequestFileJob::OnReadComplete(IOBuffer* buf, int result) { |
URLRequestFileJob::~URLRequestFileJob() { |
} |
+std::unique_ptr<SourceStream> URLRequestFileJob::SetUpSourceStream() { |
+ std::unique_ptr<SourceStream> source = URLRequestJob::SetUpSourceStream(); |
+ if (!base::LowerCaseEqualsASCII(file_path_.Extension(), ".svgz")) |
+ return source; |
+ |
+ return GzipSourceStream::Create(std::move(source), SourceStream::TYPE_GZIP); |
+} |
+ |
void URLRequestFileJob::FetchMetaInfo(const base::FilePath& file_path, |
FileMetaInfo* meta_info) { |
base::File::Info file_info; |