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

Unified Diff: net/filter/filter.cc

Issue 737943002: Update from https://crrev.com/304715 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « net/filter/filter.h ('k') | net/filter/filter_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/filter/filter.cc
diff --git a/net/filter/filter.cc b/net/filter/filter.cc
index c9a56bd9573dd3668494e0d31f4e05c52ed52439..53d6583f9cddc9d52ea0831cde6a53dd2d9d8a0c 100644
--- a/net/filter/filter.cc
+++ b/net/filter/filter.cc
@@ -64,6 +64,24 @@ void LogSdchProblem(const FilterContext& filter_context,
base::Bind(&NetLogSdchResourceProblemCallback, problem));
}
+std::string FilterTypeAsString(Filter::FilterType type_id) {
+ switch (type_id) {
+ case Filter::FILTER_TYPE_DEFLATE:
+ return "FILTER_TYPE_DEFLATE";
+ case Filter::FILTER_TYPE_GZIP:
+ return "FILTER_TYPE_GZIP";
+ case Filter::FILTER_TYPE_GZIP_HELPING_SDCH:
+ return "FILTER_TYPE_GZIP_HELPING_SDCH";
+ case Filter::FILTER_TYPE_SDCH:
+ return "FILTER_TYPE_SDCH";
+ case Filter::FILTER_TYPE_SDCH_POSSIBLE :
+ return "FILTER_TYPE_SDCH_POSSIBLE ";
+ case Filter::FILTER_TYPE_UNSUPPORTED:
+ return "FILTER_TYPE_UNSUPPORTED";
+ }
+ return "";
+}
+
} // namespace
FilterContext::~FilterContext() {
@@ -340,12 +358,22 @@ void Filter::FixupEncodingTypes(
return;
}
-Filter::Filter()
+std::string Filter::OrderedFilterList() const {
+ if (next_filter_) {
+ return FilterTypeAsString(type_id_) + "," +
+ next_filter_->OrderedFilterList();
+ } else {
+ return FilterTypeAsString(type_id_);
+ }
+}
+
+Filter::Filter(FilterType type_id)
: stream_buffer_(NULL),
stream_buffer_size_(0),
next_stream_data_(NULL),
stream_data_len_(0),
- last_status_(FILTER_NEED_MORE_DATA) {}
+ last_status_(FILTER_NEED_MORE_DATA),
+ type_id_(type_id) {}
Filter::FilterStatus Filter::CopyOut(char* dest_buffer, int* dest_len) {
int out_len;
@@ -370,7 +398,7 @@ Filter::FilterStatus Filter::CopyOut(char* dest_buffer, int* dest_len) {
// static
Filter* Filter::InitGZipFilter(FilterType type_id, int buffer_size) {
- scoped_ptr<GZipFilter> gz_filter(new GZipFilter());
+ scoped_ptr<GZipFilter> gz_filter(new GZipFilter(type_id));
gz_filter->InitBuffer(buffer_size);
return gz_filter->InitDecoding(type_id) ? gz_filter.release() : NULL;
}
@@ -379,7 +407,7 @@ Filter* Filter::InitGZipFilter(FilterType type_id, int buffer_size) {
Filter* Filter::InitSdchFilter(FilterType type_id,
const FilterContext& filter_context,
int buffer_size) {
- scoped_ptr<SdchFilter> sdch_filter(new SdchFilter(filter_context));
+ scoped_ptr<SdchFilter> sdch_filter(new SdchFilter(type_id, filter_context));
sdch_filter->InitBuffer(buffer_size);
return sdch_filter->InitDecoding(type_id) ? sdch_filter.release() : NULL;
}
« no previous file with comments | « net/filter/filter.h ('k') | net/filter/filter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698