| Index: content/child/web_data_consumer_handle_impl.cc
|
| diff --git a/content/child/web_data_consumer_handle_impl.cc b/content/child/web_data_consumer_handle_impl.cc
|
| index c111cca36035cb5863d525749d0a6bbf71930bf9..efb4f47084592ab01ab4b192644fc6aadc9df078 100644
|
| --- a/content/child/web_data_consumer_handle_impl.cc
|
| +++ b/content/child/web_data_consumer_handle_impl.cc
|
| @@ -63,6 +63,12 @@ Result WebDataConsumerHandleImpl::ReaderImpl::read(void* data,
|
| if (rv == MOJO_RESULT_OK)
|
| *read_size = size_to_pass;
|
|
|
| + // Even if there is unread data available, mojo::ReadDataRaw() returns
|
| + // FAILED_PRECONDITION when |size| is 0 and the producer handle was closed.
|
| + // But in this case, WebDataConsumerHandle::Reader::read() must return Ok.
|
| + if (!size && rv == MOJO_RESULT_FAILED_PRECONDITION)
|
| + return Ok;
|
| +
|
| return HandleReadResult(rv);
|
| }
|
|
|
|
|