Sorry I had to revert the patch without notice. Author is OOO today and reviewers are not in my timezone.
The two failing test are disabled with the NetworkService.
Moreover, not all tests are run with NavigationMojoResponse.
Hopefully, as soon as https://chromium-review.googlesource.com/c/chromium/src/+/959016 will land, it will be the case.
The reverted CL has removed URLLoaderCompletionStatus.exists_in_cache. It memorize |response_was_cached_| in
1) NavigationURLLoaderNetworkService::OnResponseStarted() and reuse it in
2) NavigationURLLoaderNetworkSercice::OnComplete()
But it turns out that 2) can be called without 1) being called before. It causes NavigationURLLoaderDelegate::OnRequestFailed to be called with |has_state_copy_in_cache| == false instead of true.
This is complete except for page load metrics for failed navigations. There was some discussion in issue 842445 about whether this is needed or not. I'm going to close that bug and we can continue that discussion here.
For now, I'll leave this bug open, but remove it from network service canary blockers. When we decide if failed navs are necessary or not, we can either close this or find a solution.
Comment 1 by bugdroid1@chromium.org
, Mar 7 2018