| Index: content/browser/loader/mime_sniffing_resource_handler.h
|
| diff --git a/content/browser/loader/mime_sniffing_resource_handler.h b/content/browser/loader/mime_sniffing_resource_handler.h
|
| index 21200938cb7bb5e76a8fb4c2832d8696d3c05cf9..017cd891d4d032e9600457cdbe5023c593f12ad3 100644
|
| --- a/content/browser/loader/mime_sniffing_resource_handler.h
|
| +++ b/content/browser/loader/mime_sniffing_resource_handler.h
|
| @@ -66,11 +66,6 @@ class CONTENT_EXPORT MimeSniffingResourceHandler
|
| // about request interception.
|
| STATE_BUFFERING,
|
|
|
| - // In these states, the MimeSniffingResourceHandler is calling OnWillRead on
|
| - // the downstream ResourceHandler and then waiting for the response.
|
| - STATE_CALLING_ON_WILL_READ,
|
| - STATE_WAITING_FOR_BUFFER,
|
| -
|
| // In this state, the MimeSniffingResourceHandler has identified the mime
|
| // type and made a decision on whether the request should be intercepted or
|
| // not. It is nows attempting to replay the response to downstream
|
| @@ -78,9 +73,17 @@ class CONTENT_EXPORT MimeSniffingResourceHandler
|
| STATE_INTERCEPTION_CHECK_DONE,
|
|
|
| // In this state, the MimeSniffingResourceHandler is replaying the buffered
|
| - // OnResponseStarted event to the downstream ResourceHandlers.
|
| + // OnResponseStarted event to the downstream ResourceHandlers. This state
|
| + // will transition to the next state if there is more data to replay, or
|
| + // to STATE_STREAMING when replay is done.
|
| STATE_REPLAYING_RESPONSE_RECEIVED,
|
|
|
| + // In this state, the MimeSniffingResourceHandler is replaying the buffered
|
| + // OnResponseStarted event to the downstream ResourceHandlers, and is
|
| + // waiting for a buffer from those handlers. This state always
|
| + // transitions to the previous one.
|
| + STATE_REPLAYING_WAIT_FOR_WILL_READ,
|
| +
|
| // In this state, the MimeSniffingResourceHandler is just a blind
|
| // pass-through
|
| // ResourceHandler.
|
| @@ -116,15 +119,12 @@ class CONTENT_EXPORT MimeSniffingResourceHandler
|
| // Intercepts the request as a stream/download if needed.
|
| void MaybeIntercept();
|
|
|
| - // Calls OnWillRead on the downstream handlers.
|
| - void CallOnWillRead();
|
| -
|
| - // Copies received buffer to parent.
|
| - void BufferReceived();
|
| -
|
| // Replays OnResponseStarted on the downstream handlers.
|
| void ReplayResponseReceived();
|
|
|
| + // Gets a buffer for read completion.
|
| + void ReplayGetBuffer();
|
| +
|
| // Replays OnReadCompleted on the downstreams handlers.
|
| void ReplayReadCompleted();
|
|
|
| @@ -178,11 +178,11 @@ class CONTENT_EXPORT MimeSniffingResourceHandler
|
| scoped_refptr<net::IOBuffer> read_buffer_;
|
| int read_buffer_size_;
|
| int bytes_read_;
|
| + int bytes_replayed_;
|
|
|
| - // Pointers to parent-owned read buffer and its size. Only used for first
|
| - // OnWillRead call.
|
| - scoped_refptr<net::IOBuffer>* parent_read_buffer_;
|
| - int* parent_read_buffer_size_;
|
| + // Downstream buffer information for replay.
|
| + scoped_refptr<net::IOBuffer> out_buffer_;
|
| + int out_buffer_size_;
|
|
|
| // The InterceptingResourceHandler that will perform ResourceHandler swap if
|
| // needed.
|
|
|