| Index: net/disk_cache/simple/simple_entry_impl.h | 
| diff --git a/net/disk_cache/simple/simple_entry_impl.h b/net/disk_cache/simple/simple_entry_impl.h | 
| index d9fcc58f8c3e2fd90fe10426d1e8c48b9732e35f..b373c7e4baeb83f2fb6a6ec515b17e30298bd80b 100644 | 
| --- a/net/disk_cache/simple/simple_entry_impl.h | 
| +++ b/net/disk_cache/simple/simple_entry_impl.h | 
| @@ -291,9 +291,11 @@ class NET_EXPORT_PRIVATE SimpleEntryImpl : public Entry, | 
| int result, | 
| std::unique_ptr<SimpleSynchronousEntry::CRCRequest> crc_result) const; | 
|  | 
| -  // Called after completion of asynchronous IO and receiving file metadata for | 
| -  // the entry in |entry_stat|. Updates the metadata in the entry and in the | 
| -  // index to make them available on next IO operations. | 
| +  // Called after completion of an operation, to either incoproprate file info | 
| +  // received from I/O done on the worker pool, or to simply bump the | 
| +  // timestamps. Updates the metadata both in |this| and in the index. | 
| +  // Stream size information in particular may be important for following | 
| +  // operations. | 
| void UpdateDataFromEntryStat(const SimpleEntryStat& entry_stat); | 
|  | 
| int64_t GetDiskUsage() const; | 
| @@ -302,8 +304,14 @@ class NET_EXPORT_PRIVATE SimpleEntryImpl : public Entry, | 
| void RecordReadIsParallelizable(const SimpleEntryOperation& operation) const; | 
| void RecordWriteDependencyType(const SimpleEntryOperation& operation) const; | 
|  | 
| -  // Reads from the stream 0 data kept in memory. | 
| -  int ReadStream0Data(net::IOBuffer* buf, int offset, int buf_len); | 
| +  // Completes a read from the stream data kept in memory, logging metrics | 
| +  // and updating metadata. If |callback| is non-null, it will be posted to the | 
| +  // current task runner with the return code. | 
| +  void ReadFromBufferAndPostReply(net::GrowableIOBuffer* in_buf, | 
| +                                  int offset, | 
| +                                  int buf_len, | 
| +                                  net::IOBuffer* out_buf, | 
| +                                  const CompletionCallback& callback); | 
|  | 
| // Copies data from |buf| to the internal in-memory buffer for stream 0. If | 
| // |truncate| is set to true, the target buffer will be truncated at |offset| | 
| @@ -334,6 +342,7 @@ class NET_EXPORT_PRIVATE SimpleEntryImpl : public Entry, | 
| const base::FilePath path_; | 
| const uint64_t entry_hash_; | 
| const bool use_optimistic_operations_; | 
| +  bool is_initial_stream1_read_;  // used for metrics only. | 
| std::string key_; | 
|  | 
| // |last_used_|, |last_modified_| and |data_size_| are copied from the | 
| @@ -396,6 +405,11 @@ class NET_EXPORT_PRIVATE SimpleEntryImpl : public Entry, | 
| // used to write HTTP headers, the memory consumption of keeping it in memory | 
| // is acceptable. | 
| scoped_refptr<net::GrowableIOBuffer> stream_0_data_; | 
| + | 
| +  // Sometimes stream 1 data is prefetched when stream 0 is first read. | 
| +  // If a write to the stream occurs on the entry the prefetch buffer is | 
| +  // discarded. It may also be null if it wasn't prefetched in the first place. | 
| +  scoped_refptr<net::GrowableIOBuffer> stream_1_prefetch_data_; | 
| }; | 
|  | 
| }  // namespace disk_cache | 
|  |