fix: registerStreamProtocol callback with large chunks (#16532)
This commit is contained in:
parent
8396a2d504
commit
63bf370cc0
2 changed files with 26 additions and 1 deletions
|
@ -141,6 +141,7 @@ void URLRequestStreamJob::StartAsync(
|
|||
}
|
||||
|
||||
void URLRequestStreamJob::OnData(std::vector<char>&& buffer) { // NOLINT
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
||||
if (write_buffer_.empty()) {
|
||||
// Quick branch without copying.
|
||||
write_buffer_ = std::move(buffer);
|
||||
|
@ -175,7 +176,7 @@ void URLRequestStreamJob::OnError(int error) {
|
|||
int URLRequestStreamJob::ReadRawData(net::IOBuffer* dest, int dest_size) {
|
||||
response_start_time_ = base::TimeTicks::Now();
|
||||
|
||||
if (ended_)
|
||||
if (ended_ && write_buffer_.empty())
|
||||
return 0;
|
||||
|
||||
// When write_buffer_ is empty, there is no data valable yet, we have to save
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue