New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 705744 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocked on:
issue 806674

Blocking:
issue 705114
issue 724275
issue 705559
issue 715630
issue 747130
issue 776887
issue 805851



Sign in to add a comment

Use data pipe instead of streams for PlzNavigate

Project Member Reported by jam@chromium.org, Mar 27 2017

Issue description

Currently, after the browser process fetches the request with PlzNavigate, it writes it into a stream and sends the blob url to the renderer. Given that we're seeing non-trivial performance regression, it might be worth trying to do this with mojo data pipes and send that to the renderer instead.
 

Comment 1 by jam@chromium.org, Mar 27 2017

Components: Internals>Mojo
btw we can do this orthogonal to the mojo loading work I think. We have the ability to send mojo handles in old chrome IPCs, seem Darin's cl https://codereview.chromium.org/2422793002/ as an example (this sends mojo message pipe, but sending data pipe is straightforward from that one). Then we can reuse the data pipe reader perhaps in the child process?

Comment 2 by jam@chromium.org, Mar 28 2017

btw there's an extra copy of the data in the browser process compared to non-plznavigate code path, so I think we want this sooner rather than later.

Comment 3 by nasko@chromium.org, Mar 28 2017

Labels: Proj-PlzNavigate

Comment 4 by kinuko@chromium.org, Mar 28 2017

Cc: horo@chromium.org
Did a quick code skimming...  so after we kick loading in RDHI::BeginNavigationRequest -> initialize Stream in NavigationResourceHandler::OnResponseStarted, the Blob URL gets passes to the renderer in RenderFrameHostImpl::CommitNavigation, where we use old IPC.

Looks like Darin's mojo handle transfer code uses traits code in ipc/ipc_mojo_param_traits which basically reads / writes attachment as ScopedHandle, and data pipe is basically a mojo handle too so maybe we can just do the same.

I was thinking that we could utilize mojo loading code (recently horo@ did similar thing for Service Worker nav preload using mojo loader), but as John suggests directly using data pipe might be more straightforward.
FYI: clamy@ and carlosk@ have worked on a prototype 1 year ago:
https://codereview.chromium.org/1693563002
I don't know if it is still relevant though, but it is probably useful to know about it.

Comment 6 by jam@chromium.org, Mar 28 2017

@kinuko: sorry if I wasn't clear, I meant use data pipe through the existing mojo loading code.

Comment 7 by kinuko@chromium.org, Mar 29 2017

#6- I see thanks for clarification. So we write data into data pipe, send it to the renderer process and use mojo loading code to do regular loading (instead of loading from blob/stream URL) for navigation, is my understanding right?  Looking into clamy & carlosk's patch linked from #5 (thanks!) it feels we might be able to simplify the approach now that we have mojo loading code.

Comment 8 by jam@chromium.org, Mar 31 2017

@kinuko: yep that's what I meant.
I took a (incomplete) shot at it today-- reusing some producer code from MojoAsyncResourceHandler in NavigationResourceHandler, sending consumer handle to renderer process on CommitNavigation and then attaching URLLoaderClientImpl to it to read out the data seems to somewhat work (though still broken, needs debugging):

https://codereview.chromium.org/2797443005/

We might be able to just use URLLoaderFactoryImpl but it feels it'd needs more changes in the browser code.
Just a quick update, one reason for the big perf regression was found and fixed, which brought metrics much closer to what we expect to see. It will be great to move over to using Mojo, but at this time it is better understood that that stream read is not the cause of huge delays.
Thanks Kinuko for looking at this!

As Nasko mentions here, it turns out that the perf regression was due to incorrect cache flags set on back-forward navigations. Considering this, I would prefer if we waited on PlzNavigate to ship before shifting to data pipes, as we're currently trying to bring stability with PlzNavigate to acceptable levels. Switching to the data pipe right now could cause a certain number of regressions and potentially set back PlzNavigate's launch (which I would like to avoid :)).

I'm also thinking that it will be easier to land once we have done a bit of cleanup in the blink loader code.

Wdyt? 
Status: Available (was: Untriaged)
Thanks for the update!  If we were able to fix the perf regression and we can just ship PlzNavigate I'm happy too =)

My patch seems to work but there's no reason that it can't wait for the launch (and I agree that it could likely cause other regressions), so please go ahead!
Components: Blink>Loader

Comment 15 by jam@chromium.org, Apr 4 2017

Thanks Kinuko for getting that done quickly. While fortunately the egregious perf issues are fixed, we'll still want this code soon (I agree after launch though, to decrease moving parts). One other reason is that it'll be helpful with the network service, as I don't see a reason at this point why we need streams anymore (now that we have data pipe).

Comment 16 by jam@chromium.org, Apr 12 2017

(btw for others following; we've synced with Kinuko about this)

Scott is landing Kinuko's change in https://codereview.chromium.org/2813243002/ but only for network service, so that we don't add risk to PlzNavigate. We do need to use PlzNavigate for the network service work, and we don't want to add support for streams there and just wanted to reuse data pipes.

Thanks a lot Kinuko again, this unblocked us.
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 12 2017

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

commit efb697309fb4c64a99e8c38b0448a4b4bb97886a
Author: scottmg <scottmg@chromium.org>
Date: Wed Apr 12 22:37:30 2017

network service: pass PlzNavigate resulting data via mojo data pipe

Mostly Kinuko's work from https://codereview.chromium.org/2797443005/ !

For now, maintains the old/current path of passing the data from PlzNav
via a stream and adds the mojo data pipe as another option. This is to
avoid changing anything that might affect PlzNav performance, etc. while
it is in the middle of being launched.

BUG=598073, 705744 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2813243002
Cr-Commit-Position: refs/heads/master@{#464180}

[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/frame_host/navigator_impl.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/browser/loader/navigation_url_loader_network_service.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/resource_dispatcher.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/resource_dispatcher.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/resource_dispatcher_unittest.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/web_url_loader_impl.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/web_url_loader_impl.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/child/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/common/content_param_traits.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/common/frame_messages.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/renderer/render_frame_impl.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/content/test/test_render_frame.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/ipc/ipc_mojo_param_traits.cc
[modify] https://crrev.com/efb697309fb4c64a99e8c38b0448a4b4bb97886a/ipc/ipc_mojo_param_traits.h

Owner: scottmg@chromium.org
Status: Fixed (was: Available)
The code is rough but landed anyways, I'm closing this (let's file new bugs for TODOs / follow-up changes)

Comment 19 by jam@chromium.org, Jun 23 2017

Status: Available (was: Fixed)
Since this isn't turned on by default for PlzNavigate (only when network-service is enabled, opening it for tracking).

Comment 20 by jam@chromium.org, Jun 23 2017

Blocking: 724275

Comment 21 by jam@chromium.org, Jul 17 2017

Owner: clamy@chromium.org
Status: Assigned (was: Available)
Reassigning to Camille who's working on this.

Comment 22 by jam@chromium.org, Jul 17 2017

Blocking: 705114

Comment 23 by jam@chromium.org, Jul 20 2017

Blocking: 715630
Cc: dtrainor@chromium.org yzshen@chromium.org

Comment 24 by jam@chromium.org, Jul 20 2017

Blocking: 747130
Components: Internals>Network>Service
Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.

Comment 27 by jam@chromium.org, Nov 8 2017

Blocking: 776887
Project Member

Comment 28 by bugdroid1@chromium.org, Nov 8 2017

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

commit f2bc2d20c4b4c484df552aed964b3bfa4df05b47
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Wed Nov 08 11:01:02 2017

Add feature flag: Navigation response using a Mojo DataPipe.

* Add content::feature NavigationMojoResponse
* Add chrome://flags/#navigation-mojo-response

See the others CLs in this series:
[1/3] this CL.
[2/3] https://chromium-review.googlesource.com/c/741237
[3/3] https://chromium-review.googlesource.com/c/753738

Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Change-Id: I8763b7d711d1ac0d06aad56130a009e3ee8a75d0
Reviewed-on: https://chromium-review.googlesource.com/739502
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514794}
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/chrome/browser/about_flags.cc
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/content/public/common/browser_side_navigation_policy.cc
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/content/public/common/browser_side_navigation_policy.h
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/content/public/common/content_features.cc
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/content/public/common/content_features.h
[modify] https://crrev.com/f2bc2d20c4b4c484df552aed964b3bfa4df05b47/tools/metrics/histograms/enums.xml

Components: Internals>Services>Storage
Setting Internals>Services>Storage to all children of issue 611938

Comment 30 by jam@chromium.org, Nov 8 2017

Components: -Internals>Services>Network -Internals>Services>Storage
Project Member

Comment 31 by bugdroid1@chromium.org, Nov 13 2017

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

commit 81f89b3b8fbb90742d88ffef7d82a561cfee3c5b
Author: Andrey Kosyakov <caseq@chromium.org>
Date: Mon Nov 13 19:52:45 2017

Associate actual response headers and undecoded size with streams

This associates original HttpRequestInfo and encoded data size
with Stream in the form of StreamMetadata, so that StreamURLRequestJob
could return actual values instead of the bogus ones that it currently
makes up.

This fixes a problem with reporting actual transferred bytes in
DevTools' network panel and removes the need for at last some of
the stream override params in WebURLLoaderImpl.

Bug:  763700 ,  705744 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I8493bbe464cd9a81a0864e5bcc9afd8b19aea3c5
Reviewed-on: https://chromium-review.googlesource.com/744290
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516012}
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/loader/stream_resource_handler.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/loader/stream_writer.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/loader/stream_writer.h
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream.h
[add] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream_metadata.h
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream_url_request_job.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream_url_request_job.h
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/browser/streams/stream_url_request_job_unittest.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/net/url_request/url_request_job.cc
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/net/url_request/url_request_job.h
[modify] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
[add] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/navigation-xfer-size-expected.txt
[add] https://crrev.com/81f89b3b8fbb90742d88ffef7d82a561cfee3c5b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/navigation-xfer-size.js

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 7 2017

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

commit 3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Dec 07 17:58:34 2017

Transfer the URLLoaderClient on navigation commit

This CL has effect on the code only when the NetworkService or the
NavigationMojoResponse features is enabled.

During a navigation, after the headers are received, this CL unbinds the
browser-side URLLoaderClient implementation. It passes the pair of
URLLoaderPtr/URLLoaderClientRequest to the renderer. Then it binds it to
the renderer-side URLLoaderClient implementation that will be used to
continue the navigation (it will receive OnStartLoadingResponseBody()
and OnComplete()).

As a side effect, several additionnal things had to be done:
1) When the navigation is intercepted by the download manager, the same
   kind of thing as above must be done. Instead of the renderer, the
   download manager should get the URLLoaderPtr/URLLoaderClientRequest
   pair and continue the loading.
2) When the load is handled by the URLFileLoader, there was a deadlock,
   the URLLoader and the URLLoaderClient were waiting for each other to
   closing their datapipe endpoints. This is solved by closing the
   URLFileLoader's one first when it has written its last byte.
3) Same as in 2), but with the URLFileDirectoryLoader.

See the others CLs in this series:
[1/3] https://chromium-review.googlesource.com/c/739502
[2/3] https://chromium-review.googlesource.com/c/741237
[3/3] this CL.

This is part 3 of the implementation plan.
Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I9df447e28afe119dc678adac943a000de6787bf4
Reviewed-on: https://chromium-review.googlesource.com/753738
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Min Qin(OOO 12/7-1/10) <qinmin@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522470}
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/download/download_manager_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/download/download_manager_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/download/resource_downloader.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/download/resource_downloader.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/file_url_loader_factory.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/navigator_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/frame_host/render_frame_host_impl_browsertest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/browser/loader/navigation_url_loader_network_service.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/common/frame.mojom
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/common/throttling_url_loader.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/common/throttling_url_loader.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/public/common/url_loader.mojom
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/public/test/browser_test_utils.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/resource_dispatcher_unittest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/renderer/render_frame_impl.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_navigation_url_loader.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_render_frame.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/content/test/test_render_frame_host.cc
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter
[modify] https://crrev.com/3a4ca9f52450a1f27422978e044d9cc3aa5fd1d7/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Project Member

Comment 33 by bugdroid1@chromium.org, Dec 12 2017

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

commit 2695d04db513271a95d2547bf3f2c97d108a9c7b
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Dec 12 08:39:01 2017

PlzNavigate: Use the NavigationUrlLoaderNetworkService.

Use the NavigationURLLoaderNetworkService when NavigationMojoResponse is
enabled, even if the network service isn’t.

The feature NavigationMojoResponse is currently disabled by default, so
this patch shouldn't introduce any new regression.

See the others CLs in this series:
[1/3] https://chromium-review.googlesource.com/c/739502
[2/3] this CL.
[3/3] https://chromium-review.googlesource.com/c/753738

This is part 2 of the implementation plan.
Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: Ia95527dce4be7b43747fec09ffe61bc51b2195a6
Reviewed-on: https://chromium-review.googlesource.com/741237
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523373}
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/navigation_url_loader.cc
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/navigation_url_loader_network_service.h
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/2695d04db513271a95d2547bf3f2c97d108a9c7b/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter

Project Member

Comment 34 by bugdroid1@chromium.org, Dec 21 2017

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

commit 2e1524a72495925cf6720e92260321c1121cd073
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Dec 21 15:47:07 2017

Pause/Resume navigation in WillProcessResponse.

Ensure that the request is properly paused in the net stack while the
navigation code is performing the WillProcessResponse checks, and only
restart it when Resume is called.

This is part 3 of the implementation plan.
Design doc: https://goo.gl/Rrrc7n

Bug:  705744 , 791049
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I4166aa3eb50b934238bf352378df257c2026da6a
Reviewed-on: https://chromium-review.googlesource.com/753384
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525697}
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/appcache/appcache_subresource_url_factory.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/appcache/appcache_url_loader_job.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/appcache/appcache_url_loader_job.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/blob_storage/blob_url_loader_factory.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/file_url_loader_factory.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/loader/mojo_async_resource_handler.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/loader/mojo_async_resource_handler.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/service_worker/service_worker_script_url_loader.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/service_worker/service_worker_script_url_loader.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/service_worker/service_worker_url_loader_job.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/browser/service_worker/service_worker_url_loader_job.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/common/throttling_url_loader_unittest.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/network/url_loader.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/network/url_loader.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/public/common/simple_url_loader_unittest.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/public/common/url_loader.mojom
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/renderer/loader/cors_url_loader.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/renderer/loader/cors_url_loader.h
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/renderer/service_worker/service_worker_subresource_loader.cc
[modify] https://crrev.com/2e1524a72495925cf6720e92260321c1121cd073/content/renderer/service_worker/service_worker_subresource_loader.h

Project Member

Comment 35 by bugdroid1@chromium.org, Jan 3 2018

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

commit 4af18629a7e5a83177882550516ae5cd2e82dd2f
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Wed Jan 03 11:45:17 2018

Remove content::NavigationData.

content::NavigationData is a copyable interface for embedders to pass
opaque data to content/.

To make the NetworkService or the NavigationMojoResponse features work,
we need to pass this object with mojo. This isn't possible
since content/ doesn't know how to serialize it.

This CL removes content::NavigationData. To mitigate its removal, a
base::Value can be used instead.

This CL implements the ChromeNavigationData <=> base::Value conversion.

Bug:  705744 
Change-Id: I49e2bf617322200b0dfe1462da94880fc6651b8f
Reviewed-on: https://chromium-review.googlesource.com/817556
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526667}
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_navigation_data.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_navigation_data.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_navigation_data_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_browsertest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/offline_pages/background_loader_offliner.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/offline_pages/background_loader_offliner_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/previews/previews_infobar_tab_helper.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/chrome/browser/previews/previews_infobar_tab_helper_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/data_reduction_proxy/core/browser/data_reduction_proxy_data_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/previews/core/previews_user_data.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/previews/core/previews_user_data.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/components/previews/core/previews_user_data_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/frame_host/navigation_handle_impl.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/frame_host/navigation_handle_impl.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/frame_host/navigator_impl_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_resource_handler.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_impl.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_impl_core.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/public/browser/BUILD.gn
[delete] https://crrev.com/f5c15f9c630b370a8397db6397067392cc89f8ea/content/public/browser/navigation_data.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/public/browser/navigation_handle.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/public/browser/resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/public/browser/resource_dispatcher_host_delegate.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/public/test/web_contents_tester.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_navigation_url_loader.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_render_frame_host.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_web_contents.cc
[modify] https://crrev.com/4af18629a7e5a83177882550516ae5cd2e82dd2f/content/test/test_web_contents.h

Project Member

Comment 36 by bugdroid1@chromium.org, Jan 5 2018

Labels: merge-merged-3311
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c39b1121dfa132669f943b8072a95e4fef3c369

commit 7c39b1121dfa132669f943b8072a95e4fef3c369
Author: Dmitry Skiba <dskiba@chromium.org>
Date: Fri Jan 05 01:49:54 2018

Revert "Remove content::NavigationData."

This reverts commit 4af18629a7e5a83177882550516ae5cd2e82dd2f.

Reason for revert: crashed Android canary, crbug.com/799177.

Original change's description:
> Remove content::NavigationData.
> 
> content::NavigationData is a copyable interface for embedders to pass
> opaque data to content/.
> 
> To make the NetworkService or the NavigationMojoResponse features work,
> we need to pass this object with mojo. This isn't possible
> since content/ doesn't know how to serialize it.
> 
> This CL removes content::NavigationData. To mitigate its removal, a
> base::Value can be used instead.
> 
> This CL implements the ChromeNavigationData <=> base::Value conversion.
> 
> Bug:  705744 
> Change-Id: I49e2bf617322200b0dfe1462da94880fc6651b8f
> Reviewed-on: https://chromium-review.googlesource.com/817556
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Camille Lamy <clamy@chromium.org>
> Reviewed-by: Charlie Harrison <csharrison@chromium.org>
> Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
> Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526667}

TBR=clamy@chromium.org,carlosk@chromium.org,csharrison@chromium.org,ryansturm@chromium.org,arthursonzogni@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  705744 
Change-Id: Idd0373ca37885db321cd7401baeb2eefdfbcf530
Reviewed-on: https://chromium-review.googlesource.com/851315
Reviewed-by: Abdul Syed <abdulsyed@google.com>
Cr-Commit-Position: refs/branch-heads/3311@{#4}
Cr-Branched-From: e475c8f306fab051ba9e7bcba48479691ee6b9b3-refs/heads/master@{#526879}
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_navigation_data.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_navigation_data.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_navigation_data_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_browsertest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/offline_pages/background_loader_offliner.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/offline_pages/background_loader_offliner_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/previews/previews_infobar_tab_helper.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/chrome/browser/previews/previews_infobar_tab_helper_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/data_reduction_proxy/core/browser/data_reduction_proxy_data_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/previews/core/previews_user_data.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/previews/core/previews_user_data.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/components/previews/core/previews_user_data_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/frame_host/navigation_handle_impl.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/frame_host/navigation_handle_impl.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/frame_host/navigator_impl_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_resource_handler.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_impl.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_impl_core.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/browser/BUILD.gn
[add] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/browser/navigation_data.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/browser/navigation_handle.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/browser/resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/browser/resource_dispatcher_host_delegate.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/public/test/web_contents_tester.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_navigation_url_loader.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_render_frame_host.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_web_contents.cc
[modify] https://crrev.com/7c39b1121dfa132669f943b8072a95e4fef3c369/content/test/test_web_contents.h

Project Member

Comment 37 by bugdroid1@chromium.org, Jan 5 2018

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

commit 7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0
Author: Dmitry Skiba <dskiba@chromium.org>
Date: Fri Jan 05 04:36:48 2018

Revert "Remove content::NavigationData."

This reverts commit 4af18629a7e5a83177882550516ae5cd2e82dd2f.

Reason for revert: crashed Android canary, crbug.com/799177.

Original change's description:
> Remove content::NavigationData.
> 
> content::NavigationData is a copyable interface for embedders to pass
> opaque data to content/.
> 
> To make the NetworkService or the NavigationMojoResponse features work,
> we need to pass this object with mojo. This isn't possible
> since content/ doesn't know how to serialize it.
> 
> This CL removes content::NavigationData. To mitigate its removal, a
> base::Value can be used instead.
> 
> This CL implements the ChromeNavigationData <=> base::Value conversion.
> 
> Bug:  705744 
> Change-Id: I49e2bf617322200b0dfe1462da94880fc6651b8f
> Reviewed-on: https://chromium-review.googlesource.com/817556
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Camille Lamy <clamy@chromium.org>
> Reviewed-by: Charlie Harrison <csharrison@chromium.org>
> Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
> Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526667}

TBR=clamy@chromium.org,carlosk@chromium.org,csharrison@chromium.org,ryansturm@chromium.org,arthursonzogni@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  705744 
Change-Id: Idd0373ca37885db321cd7401baeb2eefdfbcf530
Reviewed-on: https://chromium-review.googlesource.com/851073
Reviewed-by: Dmitry Skiba <dskiba@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Commit-Queue: Dmitry Skiba <dskiba@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527216}
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_navigation_data.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_navigation_data.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_navigation_data_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_browsertest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/loader/chrome_resource_dispatcher_host_delegate_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/offline_pages/background_loader_offliner.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/offline_pages/background_loader_offliner_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/noscript_preview_page_load_metrics_observer_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/previews/previews_infobar_tab_helper.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/chrome/browser/previews/previews_infobar_tab_helper_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/data_reduction_proxy/core/browser/data_reduction_proxy_data_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/previews/core/previews_user_data.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/previews/core/previews_user_data.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/components/previews/core/previews_user_data_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/frame_host/navigation_handle_impl.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/frame_host/navigation_handle_impl.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/frame_host/navigator_impl_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_resource_handler.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_impl.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_impl_core.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/browser/BUILD.gn
[add] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/browser/navigation_data.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/browser/navigation_handle.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/browser/resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/browser/resource_dispatcher_host_delegate.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/public/test/web_contents_tester.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_navigation_url_loader.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_render_frame_host.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_web_contents.cc
[modify] https://crrev.com/7e8c7e2ae64c32c307a2c17cdcb9a319cb318fa0/content/test/test_web_contents.h

Project Member

Comment 38 by bugdroid1@chromium.org, Jan 5 2018

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

commit 3455225e335e0d3a42e50e4e297fdb2ff431ff30
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Jan 05 16:32:38 2018

NavigationMojoResponse: Serialize SSLInfo::is_fatal_cert_error

Serialize SSLInfo::is_fatal_cert_error when an SSLInfo is transmitted
using Mojo.

It will fixes (at least) the set of test: SSLUIMITMSoftwareEnabledTest.*
when applied on top of:
* https://chromium-review.googlesource.com/842863
* https://chromium-review.googlesource.com/852094

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Change-Id: I359841fa875c97aea000bf7c7ed3359abc3b3eb4
Reviewed-on: https://chromium-review.googlesource.com/852114
Reviewed-by: Emily Stark <estark@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527294}
[modify] https://crrev.com/3455225e335e0d3a42e50e4e297fdb2ff431ff30/services/network/public/cpp/network_param_ipc_traits.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Jan 8 2018

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

commit b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Mon Jan 08 17:39:39 2018

NavigationMojoResponse: Transmit SSLInfo.

This CL makes MojoAsyncResourceHandler transmit net::SSLInfo to the
NavigationURLLoaderNetworkService.

It fixes several hundreds of tests with NavigationMojoResponse enabled
(disabled by default).

Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Change-Id: Idcae648d10955ad922821ade1d8e7b38fbb33a2a
Reviewed-on: https://chromium-review.googlesource.com/842863
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527663}
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/mojo_async_resource_handler.cc
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/mojo_async_resource_handler.h
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/public/common/url_loader.mojom
[modify] https://crrev.com/b521c6a3a2d19d093f1a1bbed77e9c2ad7082fee/content/public/common/url_loader_factory.mojom

Project Member

Comment 40 by bugdroid1@chromium.org, Jan 9 2018

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

commit 40db5f54993a5b357eaaf274f4a4f111ec42902a
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Jan 09 12:22:57 2018

NavigationMojoResponse: Transmit missing data.

It includes:
 * is_download
 * is_stream
 * request_id
 * navigation_data

Bug:  705744 

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: Idbe5c7049c07054a65ba9fbff695511cfe5403cf
Reviewed-on: https://chromium-review.googlesource.com/765494
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527969}
[modify] https://crrev.com/40db5f54993a5b357eaaf274f4a4f111ec42902a/content/browser/loader/navigation_url_loader_impl_core.cc
[modify] https://crrev.com/40db5f54993a5b357eaaf274f4a4f111ec42902a/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/40db5f54993a5b357eaaf274f4a4f111ec42902a/content/browser/loader/navigation_url_loader_network_service.h
[modify] https://crrev.com/40db5f54993a5b357eaaf274f4a4f111ec42902a/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/40db5f54993a5b357eaaf274f4a4f111ec42902a/content/browser/loader/resource_dispatcher_host_impl.h

Project Member

Comment 41 by bugdroid1@chromium.org, Jan 12 2018

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

commit ba65e19b3a7a5f4b996f7168093f21561b7a0c7f
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Jan 12 16:35:30 2018

Fix CaptivePortalBrowserTest.InterstitialTimerCertErrorAfterSlowLoad

When NavigationMojoResponse is enabled, GetCertificateChainsSizeInKB()
is called and expects ssl_info.unverified_cert to exist. It was not the
case in this test. This CL adds it.

Bug:  705744 
Change-Id: I9d452178c2787b346de86a1e43053f5dc07026ad
Reviewed-on: https://chromium-review.googlesource.com/852057
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528964}
[modify] https://crrev.com/ba65e19b3a7a5f4b996f7168093f21561b7a0c7f/chrome/browser/captive_portal/captive_portal_browsertest.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Jan 16 2018

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

commit 7ee38f4eaa42e3e2aa1e0d0ee12d749f1671fb53
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Jan 16 09:28:06 2018

NavigationMojoResponse: Fix wrong reported response size.

When NavigationMojoResponse is enabled, this fix the following layout
tests:
 * external/wpt/navigation-timing/nav3_test_attributes_values.html
 * external/wpt/resource-timing/test_resource_timing.html
 * http/tests/inspector-protocol/network/navigation-xfer-size.js

The removed part is no more needed.
The real URLLoaderCompletionStatus is now transmitted thanks to:
https://chromium-review.googlesource.com/753738,

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Change-Id: Ia6e892fd64d27515be79fe2a9d926bb5bbd72248
Reviewed-on: https://chromium-review.googlesource.com/864265
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529388}
[modify] https://crrev.com/7ee38f4eaa42e3e2aa1e0d0ee12d749f1671fb53/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/7ee38f4eaa42e3e2aa1e0d0ee12d749f1671fb53/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/7ee38f4eaa42e3e2aa1e0d0ee12d749f1671fb53/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Blockedon: 806674
I've heard the plan is to ship this soon (great!).

I'm wondering about the SetController IPC race for service workers (my comment on https://docs.google.com/document/d/1fQzym0Sqg9OrqtISgZV0XvH2swBMmDnmphM3WQD68JU/edit#)

It seems plausible to me that this will cause a race. We might need to do what  issue 778898  did for S13nServiceWorker and set the controller as part of commit navigation, to ensure the renderer knows about the controller before the first response comes in.
Thanks falken@!
I tried to add a usleep(10000) in  ServiceWorkerProviderHost::SendSetControllerServiceWorker like you did.
Indeed, it makes several tests failing.

I will take a look at it.
Thanks Arthur. It also seems good to minimize the difference between S13nServiceWorker and non-S13nServiceWorker anyway where possible.

Do you have an idea about how to plumb the controller info to the CommitNavigation function for non-NetworkService code? For NetworkService, https://chromium-review.googlesource.com/#/c/742961/ it comes from the SubresourceLoaderParams which go from:

ServiceWorkerControlleeRequestHandler -> NavigationURLLoaderNetworkService::URLLoaderRequestController -> NavigationURLLoaderNetworkService(::OnReceiveResponse()) -> NavigationRequest(::OnResponseStarted())

Then NavigationRequest::CommitNavigation() passes it to RenderFrameHostImpl::CommitNavigation().

In the non-NetworkService path, we seem to go:
NavigationResourceHandler::OnResponseStarted -> NavigationURLLoaderImplCore::NotifyResponseStarted -> NavigationURLLoaderImpl::NotifyResponseStarted -> NavigationRequest::OnResponseStarted

And NavigationResourceHandler::OnResponseStarted only has a ResourceResponse, ResourceController, NavigationData, URLRequest.

The controller is first determined at ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource, so somehow we have to get SWControlleeRequestHandler and NavigationResourceHandler talking to each other, I assume.

Ah I guess we can stuff it as URLRequest data in ServiceWorkerResponseInfo.
I haven't tried to update NavigationResourceHandler for the moment because it is used when NavigationMojoResponse is disabled. For the moment I only tried to update the other code path (the one affected by this race condition).

I get the controller in NavigationURLLoaderNetworkService::Controller::OnReceiveResponse using 
* ServiceWorkerRequestHandler::GetProviderHost(url_request)
* ServiceWorkerProviderHost::GetOrCreateServiceWorkerHandle()

Then I think I will put it into the SubresourceLoaderParams that is already here (I don't know if it make sense though)
Finally I will adapt thing that need to be updated after that.

I haven't tought about updating the non-NavigationMojoResponse path yet, but I think they are almost the same, except they are using different set of classes:

non NavigationMojoResponse | NavigationMojoResponse
--------------------------------------------------------------------------
NavigationURLLoader        | NavigationURLLoaderNetworkService
NavigationURLLoaderCore    | NavigationURLLoaderNetworkService::Controller
NavigationResourceLoader   | MojoAsyncResourceHandler

I agree that it might be good to do it even if there are no race condition in this mode.
Ah sorry seems like you've got it figured out. I didn't realize the extent of NavigationMojoResponse. It'd probably be sufficient to just fix it in NMR and not worry about non-NMR.
Yes, it doesn't really matter if the non-NMR path is updated or not, because I hope to be able to activate NMR soon and remove the non-NMR path ASAP.
sounds great to me :)
Project Member

Comment 51 by bugdroid1@chromium.org, Feb 1 2018

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

commit e37f76e58eab6dfb5417c7a361ea026dd48dd890
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Feb 01 16:36:37 2018

Replace NavigationURLLoader unittest [1/n]

With NavigationMojoResponse (or the NetworkService), the
NavigationURLLoader implementation is no more the
NavigationURLLoaderImpl but the NavigationURLLoaderNetworkService. Some
NavigationURLLoader unittests needs to be rewritten.

This CL removes...
* NavigationURLLoaderTest.DownloadAllowed.
* NavigationURLLoaderTest.DownloadDisallowed.

...and adds:
* BrowserSideNavigationDownloadBrowserTest.AllowedResourceDownloaded
* BrowserSideNavigationDownloadBrowserTest.AllowedResourceNotDownloaded
* BrowserSideNavigationDownloadBrowserTest.Disallowed

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Change-Id: Id81668b6dc2f55916db796d870968aa335cadc01
Reviewed-on: https://chromium-review.googlesource.com/867061
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533695}
[modify] https://crrev.com/e37f76e58eab6dfb5417c7a361ea026dd48dd890/content/browser/frame_host/navigation_handle_impl_browsertest.cc
[modify] https://crrev.com/e37f76e58eab6dfb5417c7a361ea026dd48dd890/content/browser/loader/navigation_url_loader_unittest.cc

Project Member

Comment 52 by bugdroid1@chromium.org, Feb 1 2018

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

commit df6321bfe46e127fc3c9d32c6697bbecae7d8bb1
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Feb 01 16:43:45 2018

Replace NavigationURLLoader unittest [2/n]

With NavigationMojoResponse (or the NetworkService), the
NavigationURLLoader implementation is no more the
NavigationURLLoaderImpl but the NavigationURLLoaderNetworkService. Some
NavigationURLLoader unittests needs to be rewritten.

This CL removes NavigationURLLoaderTest.RequestBlocked and adds
BrowserSideNavigationBrowserTest.RequestBlockedByResourceDispatcherHostDelegate.

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I2c2788e25182d8c3302daf77557160fa57313b84
Reviewed-on: https://chromium-review.googlesource.com/867951
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533699}
[modify] https://crrev.com/df6321bfe46e127fc3c9d32c6697bbecae7d8bb1/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/df6321bfe46e127fc3c9d32c6697bbecae7d8bb1/content/browser/loader/navigation_url_loader_unittest.cc

Project Member

Comment 53 by bugdroid1@chromium.org, Feb 1 2018

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

commit d23bce4aaac3f7a9dc695cc65919454813419f93
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Feb 01 16:49:00 2018

Replace NavigationURLLoader unittest [3/n]

With NavigationMojoResponse (or the NetworkService), the
NavigationURLLoader implementation is no more the
NavigationURLLoaderImpl but the NavigationURLLoaderNetworkService. Some
NavigationURLLoader unittests needs to be rewritten.

This CL removes NavigationURLLoaderTest.LoaderDetached and adds
BrowserSideNavigationBrowserTest.FetchResponseAfterNavigationURLLoaderDeleted.

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Change-Id: I0c133c5f464d483df187c111853031766218e7a1
Reviewed-on: https://chromium-review.googlesource.com/868136
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533700}
[modify] https://crrev.com/d23bce4aaac3f7a9dc695cc65919454813419f93/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/d23bce4aaac3f7a9dc695cc65919454813419f93/content/browser/loader/navigation_url_loader_unittest.cc

Project Member

Comment 54 by bugdroid1@chromium.org, Feb 1 2018

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

commit d632648422a1d7bf88644318c9afb0a77854481d
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Feb 01 17:14:12 2018

Replace NavigationURLLoader unittest [4/n]

With NavigationMojoResponse (or the NetworkService), the
NavigationURLLoader implementation is no more the
NavigationURLLoaderImpl but the NavigationURLLoaderNetworkService. Some
NavigationURLLoader unittests needs to be rewritten.

This CL removes:
* NavigationURLLoaderTest.Basic
* NavigationURLLoaderTest.RequestRedirected

These two tests are not replaced. They are very basic and there are
already a huge number of test doing navigation and redirects.

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  705744 
Change-Id: I7e3926593f1ca2eafc3f8f15ed782f440cff037a
Reviewed-on: https://chromium-review.googlesource.com/868212
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533710}
[modify] https://crrev.com/d632648422a1d7bf88644318c9afb0a77854481d/content/browser/loader/navigation_url_loader_unittest.cc

Blocking: 805851
Project Member

Comment 56 by bugdroid1@chromium.org, Feb 8 2018

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

commit b950d90a5cf7b2b9353b1c4418d5aeb94e26c206
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Feb 08 09:27:13 2018

NavigationMojoResponse: SendControllerServiceWorker on navigation commit.

This fix an IPC race problem. More details in the design doc:
https://docs.google.com/document/d/1dvvksKQYWEnUdOcjkyreaTOxJD9L4Gybszb5mxrSzHk/

This was already fixed with S13nServiceWorker by:
https://chromium-review.googlesource.com/742961
This CL does the same with NavigationMojoResponse. In reality it was
simpler here, because it reuses what was done in the previous CL.

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

Bug:  778898 ,  705744 
Change-Id: I05676fcc0b4aa581f0f575cc6e7c91cc22b8549b
Reviewed-on: https://chromium-review.googlesource.com/899147
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535339}
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/common/frame.mojom
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/external/wpt/service-workers/service-worker/README.txt
[add] https://crrev.com/b950d90a5cf7b2b9353b1c4418d5aeb94e26c206/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/http/tests/serviceworker/README.txt

Cc: jam@chromium.org
Labels: -merge-merged-3311 Merge-Request-65
I would like to merge in M65 two patches together:
*  https://crbug.com/705744  (https://crrev.com/535339) <- Here in comment 56.
*  https://crbug.com/808071  (https://crrev.com/534706)

They have been on M66 canary for a few days in 66.0.3344.0 (Feb 8) and 66.0.3342.0 (Feb 6).

They are fixing a potential race condition issue between Service workers and NavigationMojoResponse.
NavigationMojoResponse is disabled by default and finch is used. There is a 50%/50% experiment on M65 Canary. I would like to merge these two patches in order to move the experiment from Canary to Dev and get some performance statistics. I do not plan to continue the experiment further than beta in M65.

Risk is low because these two patches are modifying a code path that is not used by default (NavigationMojoResponse and/or S13nServiceWorker). Finch can be used to disable the experiment on Canary/Dev if needed.

FYI: NavigationMojoResponse launch bug: https://crbug.com/805851.
Project Member

Comment 58 by sheriffbot@chromium.org, Feb 12 2018

Labels: -Merge-Request-65 Merge-Review-65 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-65 Merge-Approved-65
Approving merge to M65 branch 3325 for both cl listed at #57 per comment #57 and offline chat with jam@. Pls merge ASAP so they can be picked up for this week M65 Beta release. Thank you.

Pls apply appropriate OSs labels too. 
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Thanks! I will merge these two CLs.
I merged the https://crrev.com/534706.
Unfortunately, for the second one  https://crbug.com/705744 . There are a lot of merge conflicts that need to be fixed. One of them is not obvious. It is very late now in my timezone. I need to take a closer look tomorrow.

Comment 62 by cmasso@google.com, Feb 12 2018

Labels: -Hotlist-Merge-Review
Project Member

Comment 63 by bugdroid1@chromium.org, Feb 13 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/812faddb42fdf00945568be8fd4ee48206b8af62

commit 812faddb42fdf00945568be8fd4ee48206b8af62
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Feb 13 07:06:43 2018

M65: NavigationMojoResponse: SendControllerServiceWorker on navigation commit.

This fix an IPC race problem. More details in the design doc:
https://docs.google.com/document/d/1dvvksKQYWEnUdOcjkyreaTOxJD9L4Gybszb5mxrSzHk/

This was already fixed with S13nServiceWorker by:
https://chromium-review.googlesource.com/742961
This CL does the same with NavigationMojoResponse. In reality it was
simpler here, because it reuses what was done in the previous CL.

Design doc: https://goo.gl/Rrrc7n (NavigationMojoResponse)

(cherry picked from commit b950d90a5cf7b2b9353b1c4418d5aeb94e26c206)

Bug:  778898 ,  705744 
Change-Id: I05676fcc0b4aa581f0f575cc6e7c91cc22b8549b
Reviewed-on: https://chromium-review.googlesource.com/899147
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#535339}
Reviewed-on: https://chromium-review.googlesource.com/914943
Cr-Commit-Position: refs/branch-heads/3325@{#442}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/common/frame.mojom
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/external/wpt/service-workers/service-worker/README.txt
[add] https://crrev.com/812faddb42fdf00945568be8fd4ee48206b8af62/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/http/tests/serviceworker/README.txt

I've merged the second CL (https://crrev.com/535339 from c#56) in c#63. Merging is complete.
Blockedon: 813468
Blockedon: -813468
 Issue 806674  has been merged into this issue.
Project Member

Comment 68 by bugdroid1@chromium.org, Feb 27 2018

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

commit 2dbfc509632afc3e693f14eef19ba155d23192c1
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Feb 27 20:42:09 2018

Add Histograms: Navigation.Renderer.ReadyToCommitUntilCommit.*

These histograms will record time it takes for the renderer to commit a
navigation once it has been requested to.
It is the duration between:
 - RenderFrameImpl::CommitNavigation() and
 - RenderFrameImpl::DidCommitProvisionalLoad().

Bug:  705744 
Change-Id: Ia22062ef01923ed15d579313abb2ec99beb6e718
Reviewed-on: https://chromium-review.googlesource.com/934458
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539538}
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/common/navigation_params.cc
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/common/navigation_params.h
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/renderer/navigation_state_impl.cc
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/renderer/navigation_state_impl.h
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/content/renderer/render_frame_impl.h
[modify] https://crrev.com/2dbfc509632afc3e693f14eef19ba155d23192c1/tools/metrics/histograms/histograms.xml

Project Member

Comment 69 by bugdroid1@chromium.org, Mar 1 2018

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

commit 84dda2149ed9e8b9111b7b643a3d62a727093710
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Mar 01 02:06:36 2018

Add navigations histograms in the ResourceHandler.

Here "ResourceHandler" refers to the NavigationResourceHandler or the
MojoAsyncResourceHandler depending on whether NavigationMojoResponse is
enabled or not.

It adds two histograms:
* Navigation.ResourceHandler.ResponseStartedUntilProceedWithResponse
* Navigation.ResourceHandder.ProceedWithResponseUntilStartLoadingResponseBody.

It records the time delta between these 3 events.
1) OnResponseStarted().
2) ProceedWithResponse().
3) OnReadCompleted() is called for the first time.

Bug:  705744 
Change-Id: I10e26016df13b9f9a7c0687774986f8775ce59c3
Reviewed-on: https://chromium-review.googlesource.com/937516
Commit-Queue: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539982}
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/BUILD.gn
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/mojo_async_resource_handler.cc
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/mojo_async_resource_handler.h
[add] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/navigation_metrics.cc
[add] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/navigation_metrics.h
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/navigation_resource_handler.cc
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/content/browser/loader/navigation_resource_handler.h
[modify] https://crrev.com/84dda2149ed9e8b9111b7b643a3d62a727093710/tools/metrics/histograms/histograms.xml

📍 Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/1522b8f0440000
Project Member

Comment 73 by bugdroid1@chromium.org, Mar 8 2018

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

commit fe32eb20fb71e7e4c8dcc5544cc342c45b7de437
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Mar 08 13:34:08 2018

Call ContinueForNavigation() earlier.

With NavigationMojoResponse, we are seeing a regression in
Navigation.ReadyToCommitUntilCommit. The method ContinueForNavigation()
is called in a PostTask(). In a busy renderer, it causes the loading of
the main resource to be delayed.

This CL replaces the PostTask by a callback that is called at the end of
RenderFrameImpl::CommitNavigation(). According to local benchmarks, it
should improve the histogram mentionned above (see below).

Links to collaboratory studies:
 * Without patch: https://goo.gl/isFY17
 * With path: https://goo.gl/xWAjqB

Bug:  705744 ,  820031 
Change-Id: I4cac025f74865bf164d618d2afbd92bceeaede1e
Reviewed-on: https://chromium-review.googlesource.com/951243
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541783}
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/request_extra_data.h
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/resource_dispatcher_unittest.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/fe32eb20fb71e7e4c8dcc5544cc342c45b7de437/content/renderer/render_frame_impl.cc

Project Member

Comment 74 by bugdroid1@chromium.org, Mar 9 2018

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

commit 4f3b60632d6a987c009e8f56d57efa968a1806d7
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Mar 09 08:33:55 2018

Fix flaky <webview> tests.

The two tests following tests are potentially flaky:
 * WebViewTests/WebViewTest.Shim_TestNestedSubframes/*
 * WebViewTests/WebViewTest.Shim_TestNestedCrossOriginSubframes/*

Why are they flaky?

webview.onloadstop event handler is defined. Once called, it causes a
new navigation to happens in the webview. The navigation causes the
handler to be called again. This is a loop. It wasn't expected to behave
that way.

If the nested iframe navigation happens quickly enough, the two time
nested iframe navigation might not complete quickly enough and the
postMessage() may not happens.

The race condition may be unfavourable several time in a row and causes
a test timeout.

FYI:
    1) This test was disabled on Mac. Maybe this CL fixes the issue? It
       should be verified on a device with this OS.
    2) This test is flakier after enabling NavigationMojoResponse and
       applying this CL:
       https://chromium-review.googlesource.com/c/chromium/src/+/951243/6
       That's understandable, this patch allows navigation to commit
       faster.

Bug: 674904,  705744 
Change-Id: Icf2debd095519221ff085cb3bacbc058c1806e86
Reviewed-on: https://chromium-review.googlesource.com/955585
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542064}
[modify] https://crrev.com/4f3b60632d6a987c009e8f56d57efa968a1806d7/chrome/test/data/extensions/platform_apps/web_view/shim/main.js

Project Member

Comment 75 by bugdroid1@chromium.org, Mar 14 2018

Labels: merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd520a223d55976ce77b132ae97262afaa559bd6

commit cd520a223d55976ce77b132ae97262afaa559bd6
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Wed Mar 14 19:12:57 2018

Call ContinueForNavigation() earlier (M66 merge).

With NavigationMojoResponse, we are seeing a regression in
Navigation.ReadyToCommitUntilCommit. The method ContinueForNavigation()
is called in a PostTask(). In a busy renderer, it causes the loading of
the main resource to be delayed.

This CL replaces the PostTask by a callback that is called at the end of
RenderFrameImpl::CommitNavigation(). According to local benchmarks, it
should improve the histogram mentionned above (see below).

Links to collaboratory studies:
 * Without patch: https://goo.gl/isFY17
 * With path: https://goo.gl/xWAjqB

Bug:  705744 ,  820031 
Change-Id: I4cac025f74865bf164d618d2afbd92bceeaede1e
Reviewed-on: https://chromium-review.googlesource.com/951243
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#541783}(cherry picked from commit fe32eb20fb71e7e4c8dcc5544cc342c45b7de437)
Reviewed-on: https://chromium-review.googlesource.com/962481
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#238}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/request_extra_data.h
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/resource_dispatcher_unittest.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/cd520a223d55976ce77b132ae97262afaa559bd6/content/renderer/render_frame_impl.cc

Project Member

Comment 76 by bugdroid1@chromium.org, Mar 15 2018

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

commit e8d15ffeac9c1ca0005dd649c27c20533e4ff44e
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Thu Mar 15 17:35:32 2018

Add NavigationMojoResponse to field trial config.

Chrome launch bug: https://crbug.com/805851
Chrome bug:  https://crbug.com/705744 
Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Change-Id: I6d7a0d748eb35dda988bd007eb8db10068db6bc7
Reviewed-on: https://chromium-review.googlesource.com/959016
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543428}
[modify] https://crrev.com/e8d15ffeac9c1ca0005dd649c27c20533e4ff44e/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 77 by bugdroid1@chromium.org, Mar 23 2018

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

commit 8fb971332437ff058748c3a0a3130c5a8be1c835
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Mar 23 18:05:09 2018

Update navigation tests with client side redirect.

In an effort to commit navigation faster, we are facing some failing
test: https://chromium-review.googlesource.com/c/chromium/src/+/951732

This CL update some of them. In these tests, there are a client-side
redirect. A new navigation is initiated by the document while
it is not fully parsed. These tests are waiting for 2 load stops:
  1) one for the initial navigation,
  2) one for the redirect.
It turns out, the second navigation may be fast enough, so that it
commits before the first document has been loaded.
DocumentLoader::LoadFailed() is called for the first document.
The browser receives DidStopLoading() only once instead of two.

Bug:  705744 
Change-Id: I4201124c0e70d64204e3c9070aae588a684e0913
Reviewed-on: https://chromium-review.googlesource.com/960664
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545517}
[modify] https://crrev.com/8fb971332437ff058748c3a0a3130c5a8be1c835/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/8fb971332437ff058748c3a0a3130c5a8be1c835/chrome/browser/ssl/ssl_browsertest.cc
[modify] https://crrev.com/8fb971332437ff058748c3a0a3130c5a8be1c835/content/browser/frame_host/navigation_controller_impl_browsertest.cc

Project Member

Comment 78 by bugdroid1@chromium.org, Mar 31 2018

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

commit 35bdafcc9cba142b9a45d91abbc71d0c34694e2a
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Sat Mar 31 01:31:31 2018

NavigationMojoResponse: Enable by default.

Launch bug: https://crbug.com/805851
Design doc: https://goo.gl/Rrrc7n

Bug:  705744 
Change-Id: If959163cdafc49913edccbca980179aa5e97ef21
Reviewed-on: https://chromium-review.googlesource.com/852094
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547350}
[modify] https://crrev.com/35bdafcc9cba142b9a45d91abbc71d0c34694e2a/content/public/common/content_features.cc

Labels: Merge-Request-66
Requesting merge targeting M66 for CL landed in comment 78. It will enable by default NavigationMojoResponse, which has been on beta as Finch trial. Merging this will enable it in WebView to ensure we don't have issues before shipping it to stable in M66.
Project Member

Comment 80 by sheriffbot@chromium.org, Apr 3 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: We are only 13 days from stable.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-66 Merge-Approved-66
Approving merge for M66. Branch:3359
Project Member

Comment 82 by bugdroid1@chromium.org, Apr 3 2018

Labels: -merge-approved-66
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/155372c15ae6c39f1fa004e8be2294fe3d4fd6f3

commit 155372c15ae6c39f1fa004e8be2294fe3d4fd6f3
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Apr 03 21:52:30 2018

NavigationMojoResponse: Enable by default [M66 merge]

Launch bug: https://crbug.com/805851
Design doc: https://goo.gl/Rrrc7n

TBR=arthursonzogni@chromium.org

(cherry picked from commit 35bdafcc9cba142b9a45d91abbc71d0c34694e2a)

Bug:  705744 
Change-Id: If959163cdafc49913edccbca980179aa5e97ef21
Reviewed-on: https://chromium-review.googlesource.com/852094
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#547350}
Reviewed-on: https://chromium-review.googlesource.com/993092
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#566}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/155372c15ae6c39f1fa004e8be2294fe3d4fd6f3/content/public/common/content_features.cc

Project Member

Comment 83 by bugdroid1@chromium.org, Apr 13 2018

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

commit dbc14cfafbcff118eb5575534c0439509001e7ef
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Apr 13 23:17:09 2018

NavigationMojoResponse: Remove the feature.

NavigationMojoResponse has been enabled by default for several days.
What this CL does:
* Make IsNavigationMojoResponseEnabled() always returns true.
* Remove content::Feature NavigationMojoResponse
* Remove chrome://flags/#navigation-mojo-response
* Remove some tests where NavigationMojoResponse was specifically
  enabled.

This CL should land after M67 branch cut.

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: Ib7ec36a2ae81ddae103b4ec5702e0186c6a35948
Reviewed-on: https://chromium-review.googlesource.com/1007055
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550796}
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/about_flags.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/public/common/browser_side_navigation_policy.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/public/common/content_features.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/8ed923199807d58dff353246227099a5d803eef2/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/external/wpt/service-workers/service-worker/README.txt
[delete] https://crrev.com/8ed923199807d58dff353246227099a5d803eef2/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/http/tests/serviceworker/README.txt

Project Member

Comment 84 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbc14cfafbcff118eb5575534c0439509001e7ef

commit dbc14cfafbcff118eb5575534c0439509001e7ef
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Apr 13 23:17:09 2018

NavigationMojoResponse: Remove the feature.

NavigationMojoResponse has been enabled by default for several days.
What this CL does:
* Make IsNavigationMojoResponseEnabled() always returns true.
* Remove content::Feature NavigationMojoResponse
* Remove chrome://flags/#navigation-mojo-response
* Remove some tests where NavigationMojoResponse was specifically
  enabled.

This CL should land after M67 branch cut.

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: Ib7ec36a2ae81ddae103b4ec5702e0186c6a35948
Reviewed-on: https://chromium-review.googlesource.com/1007055
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550796}
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/about_flags.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/public/common/browser_side_navigation_policy.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/content/public/common/content_features.cc
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/dbc14cfafbcff118eb5575534c0439509001e7ef/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/8ed923199807d58dff353246227099a5d803eef2/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/external/wpt/service-workers/service-worker/README.txt
[delete] https://crrev.com/8ed923199807d58dff353246227099a5d803eef2/third_party/WebKit/LayoutTests/virtual/navigation-mojo-response/http/tests/serviceworker/README.txt

Project Member

Comment 85 by bugdroid1@chromium.org, Apr 24 2018

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

commit 662d723cbaddb0e427c244f9527adb483b7517d0
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Apr 24 16:13:22 2018

NavigationMojoResponse: Remove the old code path [1/4]

Removes the following classes:
 - NavigationURLLoaderImpl
 - NavigationURLLoaderImplCore
 - NavigationResourceHandler

Other CLs:
* 1) https://chromium-review.googlesource.com/c/chromium/src/+/1015005
  2) https://chromium-review.googlesource.com/c/chromium/src/+/1021631
  3) https://chromium-review.googlesource.com/c/chromium/src/+/1022790
  4) https://chromium-review.googlesource.com/c/chromium/src/+/1024038

Bug:  705744 
Change-Id: Icc74aa1e6adfd42a2018a3b96aa8d5cb9d8daeb9
Reviewed-on: https://chromium-review.googlesource.com/1015005
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553151}
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/BUILD.gn
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/mojo_async_resource_handler.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_metrics.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_metrics.h
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_resource_handler.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_resource_handler.h
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/navigation_url_loader.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_url_loader_impl.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_url_loader_impl.h
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_url_loader_impl_core.cc
[delete] https://crrev.com/0be3a264fac3e8289fd80b8042699bfe33cccf4f/content/browser/loader/navigation_url_loader_impl_core.h
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/navigation_url_loader_unittest.cc
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/662d723cbaddb0e427c244f9527adb483b7517d0/content/browser/loader/resource_dispatcher_host_impl.h

Project Member

Comment 86 by bugdroid1@chromium.org, Apr 24 2018

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

commit f34adf092debda9040c8fb9733351f31ea786451
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Apr 24 17:06:13 2018

NavigationMojoResponse: Remove the old code path [2/4]

Removes usages of the stream for loading the main resource response
in the renderer process.

Other CLs:
  1) https://chromium-review.googlesource.com/c/chromium/src/+/1015005
* 2) https://chromium-review.googlesource.com/c/chromium/src/+/1021631
  3) https://chromium-review.googlesource.com/c/chromium/src/+/1022790
  4) https://chromium-review.googlesource.com/c/chromium/src/+/1024038

Bug:  705744 
Change-Id: I2fa52775d24f12d16c71f615f0c9d7618d1edb1e
Reviewed-on: https://chromium-review.googlesource.com/1021631
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553172}
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/navigation_request.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/navigator_impl_unittest.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/frame_host/render_frame_host_impl_browsertest.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/loader/navigation_url_loader_delegate.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/browser/loader/navigation_url_loader_unittest.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/common/frame.mojom
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/common/frame_messages.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/loader/navigation_response_override_parameters.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/loader/navigation_response_override_parameters.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/renderer/render_frame_impl.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_navigation_url_loader.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_navigation_url_loader.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_navigation_url_loader_delegate.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_navigation_url_loader_delegate.h
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_render_frame.cc
[modify] https://crrev.com/f34adf092debda9040c8fb9733351f31ea786451/content/test/test_render_frame_host.cc

Project Member

Comment 87 by bugdroid1@chromium.org, Apr 24 2018

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

commit 1645d4da0d0af4233f137f151944be082cb3f5d1
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Apr 24 20:28:50 2018

NavigationMojoResponse: Remove the old code path [3/4]

Remove the IsNavigationMojoResponseEnabled() function and every mention
of "NavigationMojoResponse" in the code.

Other CLs:
  1) https://chromium-review.googlesource.com/c/chromium/src/+/1015005
  2) https://chromium-review.googlesource.com/c/chromium/src/+/1021631
* 3) https://chromium-review.googlesource.com/c/chromium/src/+/1022790
  4) https://chromium-review.googlesource.com/c/chromium/src/+/1024038

Bug:  705744 
Change-Id: Ia755a96901d08819d0b10417965e292821415c44
Reviewed-on: https://chromium-review.googlesource.com/1022790
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Varun Khaneja <vakh@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553243}
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/components/safe_browsing/features.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/public/common/browser_side_navigation_policy.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/public/common/browser_side_navigation_policy.h
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/public/common/content_features.h
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/renderer/loader/request_extra_data.h
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/1645d4da0d0af4233f137f151944be082cb3f5d1/content/renderer/service_worker/service_worker_provider_context.h

Project Member

Comment 88 by bugdroid1@chromium.org, Apr 24 2018

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

commit b8a0255907b5bea51f10c0caecaced971b0045e1
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Tue Apr 24 23:03:42 2018

NavigationMojoResponse: Remove the old code path [4/4]

Remove resource_request::resource_body_stream_url.

Other CLs:
  1) https://chromium-review.googlesource.com/c/chromium/src/+/1015005
  2) https://chromium-review.googlesource.com/c/chromium/src/+/1021631
  3) https://chromium-review.googlesource.com/c/chromium/src/+/1022790
* 4) https://chromium-review.googlesource.com/c/chromium/src/+/1024038

Bug:  705744 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I6dc6a9b3c1d8577dc1b3662773078bed7ec8e360
Reviewed-on: https://chromium-review.googlesource.com/1024038
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553334}
[modify] https://crrev.com/b8a0255907b5bea51f10c0caecaced971b0045e1/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/b8a0255907b5bea51f10c0caecaced971b0045e1/content/public/test/url_loader_interceptor.cc
[modify] https://crrev.com/b8a0255907b5bea51f10c0caecaced971b0045e1/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/b8a0255907b5bea51f10c0caecaced971b0045e1/services/network/public/cpp/network_param_ipc_traits.h
[modify] https://crrev.com/b8a0255907b5bea51f10c0caecaced971b0045e1/services/network/public/cpp/resource_request.h

Comment 89 by jam@chromium.org, May 1 2018

Status: Fixed (was: Assigned)
Project Member

Comment 90 by bugdroid1@chromium.org, May 9 2018

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

commit 1fd60e68582a8a3698ddee434992b37faef4025a
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Wed May 09 15:57:32 2018

Rename NavigationURLLoaderNetworkService.

NavigationMojoResponse has been launched and the old code path has been
removed.
The current and sole NavigationURLLoader implementation is now the
NavigationURLLoaderNetworkService. The CL renames it into
NavigationURLLoaderImpl.

Bug:  705744 
Change-Id: I982f024c9318d6e03d63d73452f75b5f38b1e495
Reviewed-on: https://chromium-review.googlesource.com/1039488
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557198}
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/BUILD.gn
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/appcache/appcache_request_handler.h
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/loader/navigation_url_loader.cc
[rename] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/loader/navigation_url_loader_impl.cc
[rename] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/loader/navigation_url_loader_impl.h
[rename] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/loader/navigation_url_loader_impl_unittest.cc
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/service_worker/service_worker_navigation_loader.h
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/browser/shared_worker/shared_worker_script_loader.h
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/public/test/url_loader_interceptor.cc
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/public/test/url_loader_interceptor.h
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/content/test/BUILD.gn
[modify] https://crrev.com/1fd60e68582a8a3698ddee434992b37faef4025a/tools/traffic_annotation/summary/annotations.xml

Sign in to add a comment