New issue
Advanced search Search tips

Issue 920081 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Task

Blocking:
issue 894819



Sign in to add a comment

Pass ScopedDataPipeConsumerHandle to RequestPeer at URLResponseBodyConsumer when kResourceLoadViaDataPipe is enabled

Project Member Reported by shimazu@chromium.org, Jan 9

Issue description

Design doc: https://docs.google.com/document/d/1rW9-NkJFTTHx-UlfkPrxtEVr6qqajKl1PgeucigC5y0/edit?ts=5bf2d92a#

Currently URLResponseBodyConsumer reads the response body from Mojo's data pipe and pass the buffer to the RequestPeer through RequestPeer::OnReceivedData().
Instead, let's pass the data pipe directly to the RequestPeer by calling RequestPeer::OnStartLoadingResponseBody().


 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/494ae7b5b117ad07921b77dd2b5474ff62f02748

commit 494ae7b5b117ad07921b77dd2b5474ff62f02748
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Thu Jan 10 09:35:32 2019

Pass Mojo's data pipe from URLLoaderClientImpl to RequestPeer

When ResourceLoadViaDataPipe is on, URLLoaderClientImpl starts to transfer
Mojo's data pipe directly to the RequestPeer via ResourceDispatcher.
URLLoaderClientImpl used to use URLResponseBodyConsumer to read the data pipe
and send the body to RequestPeer, but also use it to defer to send the body when
SetDeferesLoading() is called. We need to implement the deferring logic at
another place where the body is read.

Bug:  920081 
Change-Id: I5bd89a1e65ffb644debe57b3f5b2692d9e51bc37
Reviewed-on: https://chromium-review.googlesource.com/c/1401831
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621522}
[modify] https://crrev.com/494ae7b5b117ad07921b77dd2b5474ff62f02748/content/renderer/loader/test_request_peer.cc
[modify] https://crrev.com/494ae7b5b117ad07921b77dd2b5474ff62f02748/content/renderer/loader/test_request_peer.h
[modify] https://crrev.com/494ae7b5b117ad07921b77dd2b5474ff62f02748/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/494ae7b5b117ad07921b77dd2b5474ff62f02748/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/494ae7b5b117ad07921b77dd2b5474ff62f02748/content/renderer/loader/url_loader_client_impl_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment