| Index: net/filter/filter.cc
|
| diff --git a/net/filter/filter.cc b/net/filter/filter.cc
|
| index f9c3712cf4ac1c788583f1731882709f90f8906b..ef77c9e8c082393b8336270059ebdce95c529739 100644
|
| --- a/net/filter/filter.cc
|
| +++ b/net/filter/filter.cc
|
| @@ -28,6 +28,7 @@
|
| #include "base/values.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/sdch_net_log_params.h"
|
| +#include "net/filter/brotli_filter.h"
|
| #include "net/filter/gzip_filter.h"
|
| #include "net/filter/sdch_filter.h"
|
| #include "net/url_request/url_request_context.h"
|
| @@ -38,6 +39,7 @@ namespace net {
|
| namespace {
|
|
|
| // Filter types (using canonical lower case only):
|
| +const char kBrotli[] = "br";
|
| const char kDeflate[] = "deflate";
|
| const char kGZip[] = "gzip";
|
| const char kXGZip[] = "x-gzip";
|
| @@ -62,6 +64,8 @@ void LogSdchProblem(const FilterContext& filter_context,
|
|
|
| std::string FilterTypeAsString(Filter::FilterType type_id) {
|
| switch (type_id) {
|
| + case Filter::FILTER_TYPE_BROTLI:
|
| + return "FILTER_TYPE_BROTLI";
|
| case Filter::FILTER_TYPE_DEFLATE:
|
| return "FILTER_TYPE_DEFLATE";
|
| case Filter::FILTER_TYPE_GZIP:
|
| @@ -184,7 +188,9 @@ bool Filter::FlushStreamBuffer(int stream_data_len) {
|
| Filter::FilterType Filter::ConvertEncodingToType(
|
| const std::string& filter_type) {
|
| FilterType type_id;
|
| - if (base::LowerCaseEqualsASCII(filter_type, kDeflate)) {
|
| + if (base::LowerCaseEqualsASCII(filter_type, kBrotli)) {
|
| + type_id = FILTER_TYPE_BROTLI;
|
| + } else if (base::LowerCaseEqualsASCII(filter_type, kDeflate)) {
|
| type_id = FILTER_TYPE_DEFLATE;
|
| } else if (base::LowerCaseEqualsASCII(filter_type, kGZip) ||
|
| base::LowerCaseEqualsASCII(filter_type, kXGZip)) {
|
| @@ -372,6 +378,9 @@ Filter* Filter::PrependNewFilter(FilterType type_id,
|
| Filter* filter_list) {
|
| scoped_ptr<Filter> first_filter; // Soon to be start of chain.
|
| switch (type_id) {
|
| + case FILTER_TYPE_BROTLI:
|
| + first_filter.reset(CreateBrotliFilter(type_id, buffer_size));
|
| + break;
|
| case FILTER_TYPE_GZIP_HELPING_SDCH:
|
| case FILTER_TYPE_DEFLATE:
|
| case FILTER_TYPE_GZIP:
|
|
|