commit | 7178f5c1387636c7e5dfec90a533bcadb5c0c0c1 | [log] [tgz] |
---|---|---|
author | Philip Rogers <pdr@chromium.org> | Mon Jul 09 18:52:59 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Jul 09 18:52:59 2018 |
tree | 3c3c2232d4adec99f0703046a1e0685be7c3c939 | |
parent | d0855ce5d8e550e243803522771e4c7ed5aec81a [diff] |
Revert "Transmit the response's body datapipe in CommitNavigation()." This reverts commit 7521deccbb7d3d4a7700e6e007e679a8706d8be0. Reason for revert: Caused failures on fast/history/history-back-initial-vs-final-url.html (and possibly other tests, see https://crbug.com/861808) Original change's description: > Transmit the response's body datapipe in CommitNavigation(). > > # Summary of the current behavior: > > When a navigation occurs, the mojo::URLLoaderClient interface is first > bound to the content::NavigationURLLoaderImpl in the browser process. > When the browser knows in which renderer process the navigation will > commit, the interface is bound to the content::URLLoaderClientImpl in > the renderer process to continue the navigation. The switching from one > to another happens when mojo::URLLoaderClient::OnReceiveResponse() is > called. This is described here: https://goo.gl/Rrrc7n > > # What are we trying to do: > > After the mojo::URLLoaderClient interface is unbound in the browser > process and bound again in the renderer process, it takes some amount of > time to receive URLLoader::OnStartLoadingResponseBody(). It may be worth > sending the data pipe with RenderFrameHostImpl::CommitNavigation() and > give it to the renderer process immediatly instead of waiting for it. It > would allow the Renderer process to get the main resource's data > earlier, especially when the renderer process is busy. > > Note: It doesn't look like there are any strong reasons to make > URLLoaderClient::OnReceiveResponse(response_head) and > URLLoaderClient::OnStartLoadingResponseBody(response_body) > separate messages, maybe at some point, they could be merged into: > URLLoaderClient::OnReceiveResponse(response_head, response_body) > > # What this CL does: > > This CL makes the switch to happen in > URLLoaderClient::OnStartLoadingResponseBody(). The data pipe is > transmitted in CommitNavigation(). > > This is enabled/disabled using the NavigationImmediateResponse experiment > The goal is to look for performance improvement or regressions on > Canary. > > Bug: 831155 > Change-Id: Id6cf667fdc1482baf27f41aab754e58d9a5a569b > Reviewed-on: https://chromium-review.googlesource.com/1100830 > Reviewed-by: Yutaka Hirano <yhirano@chromium.org> > Reviewed-by: Peter Kasting <pkasting@chromium.org> > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> > Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#573276} TBR=pkasting@chromium.org,kinuko@chromium.org,nasko@chromium.org,yhirano@chromium.org,clamy@chromium.org,arthursonzogni@chromium.org Change-Id: I22eac2d660f9cf1d8128331b547c304af729a85a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 831155 Reviewed-on: https://chromium-review.googlesource.com/1129659 Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#573392}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .