| Index: content/browser/renderer_host/duplicate_resource_handler.h | 
| =================================================================== | 
| --- content/browser/renderer_host/duplicate_resource_handler.h	(revision 0) | 
| +++ content/browser/renderer_host/duplicate_resource_handler.h	(revision 0) | 
| @@ -0,0 +1,58 @@ | 
| +// Copyright (c) 2012 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. | 
| + | 
| +#ifndef CONTENT_BROWSER_RENDERER_HOST_DUPLICATE_RESOURCE_HANDLER_H_ | 
| +#define CONTENT_BROWSER_RENDERER_HOST_DUPLICATE_RESOURCE_HANDLER_H_ | 
| +#pragma once | 
| + | 
| +#include <string> | 
| + | 
| +#include "base/memory/ref_counted.h" | 
| +#include "content/browser/renderer_host/layered_resource_handler.h" | 
| +#include "googleurl/src/gurl.h" | 
| +#include "webkit/glue/resource_type.h" | 
| + | 
| +namespace net { | 
| +class IOBuffer; | 
| +class URLRequest; | 
| +class URLRequestStatus; | 
| +} | 
| + | 
| +namespace content { | 
| + | 
| +class DuplicateResourceHandler: public LayeredResourceHandler { | 
| + | 
| + public: | 
| +  DuplicateResourceHandler(scoped_ptr<ResourceHandler> next_handler, | 
| +                           ResourceType::Type resource_type, | 
| +                           net::URLRequest* request); | 
| +  virtual ~DuplicateResourceHandler(); | 
| + | 
| + private: | 
| +  enum { kReadBufSize = 32768 }; | 
| + | 
| +  // ResourceHandler implementation | 
| +  virtual bool OnWillRead(int request_id, | 
| +                          net::IOBuffer** buf, | 
| +                          int* buf_size, | 
| +                          int min_size) OVERRIDE; | 
| +  virtual bool OnReadCompleted(int request_id, int bytes_read, | 
| +                               bool* defer) OVERRIDE; | 
| +  virtual bool OnResponseCompleted(int request_id, | 
| +                                   const net::URLRequestStatus& status, | 
| +                                   const std::string& security_info) OVERRIDE; | 
| + | 
| +  ResourceType::Type resource_type_; | 
| +  uint32 start_seed_; | 
| +  int bytes_read_; | 
| +  scoped_refptr<net::IOBuffer> read_buffer_; | 
| +  net::URLRequest* request_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(DuplicateResourceHandler); | 
| +};  // class DuplicateResourceHandler | 
| + | 
| +}  // namespace content | 
| + | 
| + | 
| +#endif  // CONTENT_BROWSER_RENDERER_HOST_DUPLICATE_RESOURCE_HANDLER_H_ | 
|  |