#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include <utility>
#include "net/filter/brotli_source_stream.h"
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/metrics/histogram_macros.h"
#include "net/base/io_buffer.h"
#include "third_party/brotli/include/brotli/decode.h"
#include "third_party/brotli/include/brotli/shared_dictionary.h"
namespace net {
namespace {
const char kBrotli[] = …;
class BrotliSourceStream : public FilterSourceStream { … };
}
std::unique_ptr<FilterSourceStream> CreateBrotliSourceStream(
std::unique_ptr<SourceStream> previous) { … }
std::unique_ptr<FilterSourceStream> CreateBrotliSourceStreamWithDictionary(
std::unique_ptr<SourceStream> previous,
scoped_refptr<IOBuffer> dictionary,
size_t dictionary_size) { … }
}