Chromium Code Reviews| Index: content/browser/loader/buffered_resource_handler.cc |
| diff --git a/content/browser/loader/buffered_resource_handler.cc b/content/browser/loader/buffered_resource_handler.cc |
| index d5cabe35d4b0105f2c7002353dfa14da96d124bc..48061396a7a18634d5cdab08140632a08a091c0c 100644 |
| --- a/content/browser/loader/buffered_resource_handler.cc |
| +++ b/content/browser/loader/buffered_resource_handler.cc |
| @@ -15,6 +15,7 @@ |
| #include "content/browser/loader/certificate_resource_handler.h" |
| #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| #include "content/browser/loader/resource_request_info_impl.h" |
| +#include "content/browser/loader/stream_resource_handler.h" |
| #include "content/browser/plugin_service_impl.h" |
| #include "content/public/browser/content_browser_client.h" |
| #include "content/public/browser/download_item.h" |
| @@ -321,10 +322,22 @@ bool BufferedResourceHandler::SelectNextHandler(bool* defer) { |
| if (net::IsSupportedMimeType(mime_type)) |
| return true; |
| - scoped_ptr<ResourceHandler> handler( |
| + scoped_ptr<StreamResourceHandler> handler( |
| host_->MaybeInterceptAsStream(request(), response_.get())); |
| - if (handler) |
| - return UseAlternateNextHandler(handler.Pass()); |
| + if (handler) { |
| + if (handler->HasPayload()) { |
|
mmenke
2014/05/12 17:12:13
I'm really not following any of this code.
|
| + handler->SetNextHandler(next_handler_.Pass()); |
| + |
| + next_handler_ = handler.Pass(); |
| + next_handler_->SetController(this); |
| + |
| + int request_id = |
| + ResourceRequestInfo::ForRequest(request())->GetRequestID(); |
| + return CopyReadBufferToNextHandler(request_id); |
|
mmenke
2014/05/13 15:14:32
I think it's less than ideal to split the responsi
Zachary Kuznia
2014/05/20 22:24:39
If I understand correctly, you're saying that I sh
mmenke
2014/05/21 15:17:49
That's my suggestion. I don't think the new behav
|
| + } else { |
| + UseAlternateNextHandler(handler.PassAs<ResourceHandler>()); |
| + } |
| + } |
| #if defined(ENABLE_PLUGINS) |
| bool stale; |