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

Unified Diff: net/filter/gzip_header.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « net/filter/gzip_header.h ('k') | net/filter/mock_filter_context.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/filter/gzip_header.cc
diff --git a/net/filter/gzip_header.cc b/net/filter/gzip_header.cc
deleted file mode 100644
index f4aca6b1518f3588ab2ff585c9a8ff8ac0d275cd..0000000000000000000000000000000000000000
--- a/net/filter/gzip_header.cc
+++ /dev/null
@@ -1,181 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/filter/gzip_header.h"
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "third_party/zlib/zlib.h"
-
-namespace net {
-
-const uint8 GZipHeader::magic[] = { 0x1f, 0x8b };
-
-GZipHeader::GZipHeader() {
- Reset();
-}
-
-GZipHeader::~GZipHeader() {
-}
-
-void GZipHeader::Reset() {
- state_ = IN_HEADER_ID1;
- flags_ = 0;
- extra_length_ = 0;
-}
-
-GZipHeader::Status GZipHeader::ReadMore(const char* inbuf, int inbuf_len,
- const char** header_end) {
- DCHECK_GE(inbuf_len, 0);
- const uint8* pos = reinterpret_cast<const uint8*>(inbuf);
- const uint8* const end = pos + inbuf_len;
-
- while ( pos < end ) {
- switch ( state_ ) {
- case IN_HEADER_ID1:
- if ( *pos != magic[0] ) return INVALID_HEADER;
- pos++;
- state_++;
- break;
- case IN_HEADER_ID2:
- if ( *pos != magic[1] ) return INVALID_HEADER;
- pos++;
- state_++;
- break;
- case IN_HEADER_CM:
- if ( *pos != Z_DEFLATED ) return INVALID_HEADER;
- pos++;
- state_++;
- break;
- case IN_HEADER_FLG:
- flags_ = (*pos) & (FLAG_FHCRC | FLAG_FEXTRA |
- FLAG_FNAME | FLAG_FCOMMENT);
- pos++;
- state_++;
- break;
-
- case IN_HEADER_MTIME_BYTE_0:
- pos++;
- state_++;
- break;
- case IN_HEADER_MTIME_BYTE_1:
- pos++;
- state_++;
- break;
- case IN_HEADER_MTIME_BYTE_2:
- pos++;
- state_++;
- break;
- case IN_HEADER_MTIME_BYTE_3:
- pos++;
- state_++;
- break;
-
- case IN_HEADER_XFL:
- pos++;
- state_++;
- break;
-
- case IN_HEADER_OS:
- pos++;
- state_++;
- break;
-
- case IN_XLEN_BYTE_0:
- if ( !(flags_ & FLAG_FEXTRA) ) {
- state_ = IN_FNAME;
- break;
- }
- // We have a two-byte little-endian length, followed by a
- // field of that length.
- extra_length_ = *pos;
- pos++;
- state_++;
- break;
- case IN_XLEN_BYTE_1:
- extra_length_ += *pos << 8;
- pos++;
- state_++;
- // We intentionally fall through, because if we have a
- // zero-length FEXTRA, we want to check to notice that we're
- // done reading the FEXTRA before we exit this loop...
-
- case IN_FEXTRA: {
- // Grab the rest of the bytes in the extra field, or as many
- // of them as are actually present so far.
- const uint16 num_extra_bytes = static_cast<uint16>(std::min(
- static_cast<ptrdiff_t>(extra_length_),
- (end - pos)));
- pos += num_extra_bytes;
- extra_length_ -= num_extra_bytes;
- if ( extra_length_ == 0 ) {
- state_ = IN_FNAME; // advance when we've seen extra_length_ bytes
- flags_ &= ~FLAG_FEXTRA; // we're done with the FEXTRA stuff
- }
- break;
- }
-
- case IN_FNAME:
- if ( !(flags_ & FLAG_FNAME) ) {
- state_ = IN_FCOMMENT;
- break;
- }
- // See if we can find the end of the \0-terminated FNAME field.
- pos = reinterpret_cast<const uint8*>(memchr(pos, '\0', (end - pos)));
- if ( pos != NULL ) {
- pos++; // advance past the '\0'
- flags_ &= ~FLAG_FNAME; // we're done with the FNAME stuff
- state_ = IN_FCOMMENT;
- } else {
- pos = end; // everything we have so far is part of the FNAME
- }
- break;
-
- case IN_FCOMMENT:
- if ( !(flags_ & FLAG_FCOMMENT) ) {
- state_ = IN_FHCRC_BYTE_0;
- break;
- }
- // See if we can find the end of the \0-terminated FCOMMENT field.
- pos = reinterpret_cast<const uint8*>(memchr(pos, '\0', (end - pos)));
- if ( pos != NULL ) {
- pos++; // advance past the '\0'
- flags_ &= ~FLAG_FCOMMENT; // we're done with the FCOMMENT stuff
- state_ = IN_FHCRC_BYTE_0;
- } else {
- pos = end; // everything we have so far is part of the FNAME
- }
- break;
-
- case IN_FHCRC_BYTE_0:
- if ( !(flags_ & FLAG_FHCRC) ) {
- state_ = IN_DONE;
- break;
- }
- pos++;
- state_++;
- break;
-
- case IN_FHCRC_BYTE_1:
- pos++;
- flags_ &= ~FLAG_FHCRC; // we're done with the FHCRC stuff
- state_++;
- break;
-
- case IN_DONE:
- *header_end = reinterpret_cast<const char*>(pos);
- return COMPLETE_HEADER;
- }
- }
-
- if ( (state_ > IN_HEADER_OS) && (flags_ == 0) ) {
- *header_end = reinterpret_cast<const char*>(pos);
- return COMPLETE_HEADER;
- } else {
- return INCOMPLETE_HEADER;
- }
-}
-
-} // namespace net
« no previous file with comments | « net/filter/gzip_header.h ('k') | net/filter/mock_filter_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698