Move NetLog creation and ownership over to the network service. |
||||||||
Issue descriptionWe need to move NetLog management/creation over to being managed by the network service. To keep things working in production, we can still access the NetLog through the URLRequestContext for the moment, but nowhere else. My plan is: * Remove all access to it on the UI thread (Making things no longer log through it, as needed, like the download manager). * Remove use of ChromeNetLog in Chrome. ChromeNetLog::StartWritingToFile I'll temporarily move over to IOThread (Eventually it'll be move into the network service itself). I'll make NetExportFileWriter owned by SystemNetworkContextManager (I guess?). * Make the NetLog register itself to listen to NetworkChange events, instead of making those logged by IOThread. * Then we can move it over being owned and created by the NetworkService. Doing this earlier rather than later because other services the network service is going to set up need a NetLog before we create them and pass them to the URLRequestContextBuilder. The other half of the equation (Making nothing access URLRequestContext::net_log) isn't blocking anything, so I'll probably put it off for the moment.
,
Sep 21 2017
No, I don't have a full list. I believe the sources this would mean removing are: EXPONENTIAL_BACKOFF_THROTTLING DOWNLOAD DOWNLOAD_FILE FILESTREAM (Which isn't used) DNS_PROBER (Also not used) DATA_REDUCTION_PROXY SAFE_BROWSING We had a conversation about whether these were worth keeping, but with the new layering, it seemed like having a way for external modules log to NetLog was weird and unexpected. For what I'm doing here, I think I'll only be removing DOWNLOAD/DOWNLOAD_FILE, since those live on the UI thread.
,
Sep 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8a7ab212eaf566f0d2e2f71abd4518e5a8566d88 commit 8a7ab212eaf566f0d2e2f71abd4518e5a8566d88 Author: Matt Menke <mmenke@chromium.org> Date: Mon Sep 25 23:52:26 2017 Remove use of g_browser_process->net_log() in CastTransportHostFilter. I'm removing all use of NetLog except through URLRequestContext, as part of servicification. Eventually URLRequestContexts, will be out of process, too, but that's quite a ways off. Bug: 767450 Change-Id: If905f1cf7f5737ecb55f5b1ac9433ed4f14a85c8 Reviewed-on: https://chromium-review.googlesource.com/677232 Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Commit-Queue: Matt Menke <mmenke@chromium.org> Cr-Commit-Position: refs/heads/master@{#504219} [modify] https://crrev.com/8a7ab212eaf566f0d2e2f71abd4518e5a8566d88/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/8a7ab212eaf566f0d2e2f71abd4518e5a8566d88/chrome/browser/media/cast_transport_host_filter.cc [modify] https://crrev.com/8a7ab212eaf566f0d2e2f71abd4518e5a8566d88/chrome/browser/media/cast_transport_host_filter.h [modify] https://crrev.com/8a7ab212eaf566f0d2e2f71abd4518e5a8566d88/chrome/browser/media/cast_transport_host_filter_unittest.cc
,
Sep 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb4a02e2dbb4a96f076052e30a1236bc8d6831df commit bb4a02e2dbb4a96f076052e30a1236bc8d6831df Author: Matt Menke <mmenke@chromium.org> Date: Tue Sep 26 21:51:45 2017 Remove P2PSocketHostUdp's use of ContextBrowserClient::GetNetLog(). With network servicification, the NetLog will eventually move out of the browser process, but for now, I'm just removing all use of it outside of URLRequestContext::net_log(), so that the in-process NetworkService object can create, configure, and own it. Bug: 767450 Change-Id: I9f8c1add2ae0fd55ec6a209fe3920412a0aac2a2 Reviewed-on: https://chromium-review.googlesource.com/677278 Commit-Queue: Matt Menke <mmenke@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Cr-Commit-Position: refs/heads/master@{#504491} [modify] https://crrev.com/bb4a02e2dbb4a96f076052e30a1236bc8d6831df/content/browser/renderer_host/p2p/socket_host.cc [modify] https://crrev.com/bb4a02e2dbb4a96f076052e30a1236bc8d6831df/content/browser/renderer_host/p2p/socket_host_udp.cc [modify] https://crrev.com/bb4a02e2dbb4a96f076052e30a1236bc8d6831df/content/browser/renderer_host/p2p/socket_host_udp.h [modify] https://crrev.com/bb4a02e2dbb4a96f076052e30a1236bc8d6831df/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc
,
Sep 27 2017
Another issue is that I think we're not going to want the network service to be able to read or write to anything other than the profile directory (Admittedly, it currently handles file URLs). So for logging-to-a-file, we may either need to pass in file handles, or provide a Mojo API to access the NetLog event stream.
,
Sep 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e6433d40255231d2c45df6dfe41422abddcba09d commit e6433d40255231d2c45df6dfe41422abddcba09d Author: Matt Menke <mmenke@chromium.org> Date: Thu Sep 28 19:15:11 2017 Remove use of g_browser_process->net_log() from DialService. NetLog needs to be moved into the network service. The first step is removing it from the BrowserProcess. The DialRegistry is now passed a pointer to a NetLog on construction, which is taken from a URLRequestContextGetter. Bug: 767450 Change-Id: I0dd79758dd05d92045cca56286a6dd0c511c1aa4 Reviewed-on: https://chromium-review.googlesource.com/677551 Commit-Queue: Matt Menke <mmenke@chromium.org> Reviewed-by: Derek Cheng <imcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#505114} [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/extensions/api/dial/dial_api.cc [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/extensions/api/dial/dial_api.h [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/media/router/discovery/dial/dial_registry.cc [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/media/router/discovery/dial/dial_registry.h [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/media/router/discovery/dial/dial_service.cc [modify] https://crrev.com/e6433d40255231d2c45df6dfe41422abddcba09d/chrome/browser/media/router/discovery/dial/dial_service.h
,
Oct 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1f81501ebab97e8bdd68440879d18a6a206f0d33 commit 1f81501ebab97e8bdd68440879d18a6a206f0d33 Author: Matt Menke <mmenke@chromium.org> Date: Tue Oct 03 18:21:27 2017 Remove use of g_browser_process->net_log() in CastMediaSinkService. I've moving NetLog access off of the UI thread so that the NetworkService (Which can live either on the IO thread or out of process) can own and create it. Bug: 767450 Change-Id: Ib6128d1a6f647af4bf45364dad031c4e22675a6a Reviewed-on: https://chromium-review.googlesource.com/676667 Commit-Queue: Matt Menke <mmenke@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Bin Zhao <zhaobin@chromium.org> Cr-Commit-Position: refs/heads/master@{#506108} [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service.cc [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.cc [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.h [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl_unittest.cc [modify] https://crrev.com/1f81501ebab97e8bdd68440879d18a6a206f0d33/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_unittest.cc
,
Oct 9 2017
One thing I just realized: We're probably either going to need to mojo-ify the NetLog event stream (as raw text?) or pass one or more writeable file handles, rather than have the network process create file to write to, since it's my understanding we're going to restrict the network service to only reading/writing files in the profile directory. As ugly as passing in multiple FDs is, I suspect that's the better option, just to avoid the overhead of sending all those extra Mojo messages.
,
Oct 9 2017
Oops...I realized that on Sept 27th, too, but I just re-realized it.
,
Oct 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e4beb6883eef4367f30aee01d9ff1ad352f2b50b commit e4beb6883eef4367f30aee01d9ff1ad352f2b50b Author: Matt Menke <mmenke@chromium.org> Date: Thu Oct 19 00:38:25 2017 Make the NetworkService use Chrome's NetLog when created in-process. This will let us start adding NetLog APIs to the network service, and using them in production, without breaking logging. Eventually we'll want to get rid of Chrome's NetLog entirely, but doing that all at once would be too much for a single CL. Bug: 767450 Change-Id: I1ce00dded81f83ce3e7d1e498f72d991a68d3e66 Reviewed-on: https://chromium-review.googlesource.com/723819 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Commit-Queue: Matt Menke <mmenke@chromium.org> Cr-Commit-Position: refs/heads/master@{#509947} [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/chrome/browser/io_thread.cc [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/chrome/browser/io_thread.h [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/chrome/browser/profiles/profile_io_data.cc [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/content/network/network_context.cc [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/content/network/network_service_impl.cc [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/content/network/network_service_impl.h [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/content/public/network/network_service.h [modify] https://crrev.com/e4beb6883eef4367f30aee01d9ff1ad352f2b50b/net/url_request/url_request_context_builder.h
,
Oct 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ddb40ce97630a1af8cd1178912f87d7ad5675635 commit ddb40ce97630a1af8cd1178912f87d7ad5675635 Author: Min Qin <qinmin@chromium.org> Date: Sat Oct 28 03:38:26 2017 Stop using the g_browser_process->net_log() when creating download manager NetLog is going to be moved into the network service process. This CL remove download system from using the browser process netlog. The CL switches download to use its own netlog, so we won't block Matt's effort to clean things up. A follow up CL will switch all the netlog usage to TraceEvent. BUG=767450 Change-Id: Id42bfa9d74624c383cf0479db0b1fe2c3732ba70 Reviewed-on: https://chromium-review.googlesource.com/741553 Commit-Queue: Min Qin <qinmin@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#512378} [modify] https://crrev.com/ddb40ce97630a1af8cd1178912f87d7ad5675635/content/browser/browser_context.cc [modify] https://crrev.com/ddb40ce97630a1af8cd1178912f87d7ad5675635/content/browser/download/download_manager_impl.cc [modify] https://crrev.com/ddb40ce97630a1af8cd1178912f87d7ad5675635/content/browser/download/download_manager_impl.h [modify] https://crrev.com/ddb40ce97630a1af8cd1178912f87d7ad5675635/content/browser/download/download_manager_impl_unittest.cc
,
Nov 7 2017
Apologies, applied the wrong component in bulk.
,
Nov 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/218f1a5332b0beb9c73065ab66986863b318f786 commit 218f1a5332b0beb9c73065ab66986863b318f786 Author: Min Qin <qinmin@chromium.org> Date: Thu Nov 09 01:35:01 2017 Switch download to use TraceEvent instead of netlog NetLog is going to be moved into the network service process. We should switch to traceevent for logging purpose instead. BUG=767450 Change-Id: Ic81994a1685057f73716fa7b33a366f94d50dd26 Reviewed-on: https://chromium-review.googlesource.com/750050 Commit-Queue: Min Qin <qinmin@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#515051} [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/BUILD.gn [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/base_file.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/base_file.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/base_file_unittest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/base_file_win_unittest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_browsertest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_create_info.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_create_info.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_file_factory.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_file_factory.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_file_impl.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_file_impl.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_file_unittest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_item_factory.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_item_impl.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_item_impl.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_item_impl_unittest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_manager_impl.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_manager_impl.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_manager_impl_unittest.cc [delete] https://crrev.com/d769122cadd25526413093e3f9c4e408394857b8/content/browser/download/download_net_log_parameters.cc [delete] https://crrev.com/d769122cadd25526413093e3f9c4e408394857b8/content/browser/download/download_net_log_parameters.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_request_core.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/download_response_handler.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/mock_download_item_impl.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/parallel_download_job_unittest.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/browser/download/save_file.cc [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/public/browser/download_item.h [modify] https://crrev.com/218f1a5332b0beb9c73065ab66986863b318f786/content/public/test/test_file_error_injector.cc
,
Jan 16 2018
Punting this back to available, as I may not have any more time to work on it this quarter.
,
Apr 11 2018
,
Apr 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c4757b0f46f5febeacf0e2d65151e20e85b75e3 commit 4c4757b0f46f5febeacf0e2d65151e20e85b75e3 Author: Maks Orlovich <morlovich@chromium.org> Date: Thu Apr 12 14:15:15 2018 S13n: Use base::File in FileNetLogObserver observer rather than FILE* Once NetLog moves to NetworkService, it'll be desirable to have the output files used for netlogs passed in from browser process, since sandboxing of network service process probably will limit where it can write on disk. base::File (mapped as mojo_base.mojom.File) is the preferred way of transferring files per https://chromium.googlesource.com/chromium/src/+/lkcr/docs/security/mojo.md#Use-structured-types This doesn't address actually passing in the file or configuring a separate in-progress directory for the bounded mode (assuming the network service will have some temp dir it can write to); that would be the next steps. Bug: 767450 Change-Id: I814d2fdf6d95016e32d08902038fc84b391411b8 Reviewed-on: https://chromium-review.googlesource.com/1005425 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#550181} [modify] https://crrev.com/4c4757b0f46f5febeacf0e2d65151e20e85b75e3/net/log/file_net_log_observer.cc
,
Apr 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c4757b0f46f5febeacf0e2d65151e20e85b75e3 commit 4c4757b0f46f5febeacf0e2d65151e20e85b75e3 Author: Maks Orlovich <morlovich@chromium.org> Date: Thu Apr 12 14:15:15 2018 S13n: Use base::File in FileNetLogObserver observer rather than FILE* Once NetLog moves to NetworkService, it'll be desirable to have the output files used for netlogs passed in from browser process, since sandboxing of network service process probably will limit where it can write on disk. base::File (mapped as mojo_base.mojom.File) is the preferred way of transferring files per https://chromium.googlesource.com/chromium/src/+/lkcr/docs/security/mojo.md#Use-structured-types This doesn't address actually passing in the file or configuring a separate in-progress directory for the bounded mode (assuming the network service will have some temp dir it can write to); that would be the next steps. Bug: 767450 Change-Id: I814d2fdf6d95016e32d08902038fc84b391411b8 Reviewed-on: https://chromium-review.googlesource.com/1005425 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#550181} [modify] https://crrev.com/4c4757b0f46f5febeacf0e2d65151e20e85b75e3/net/log/file_net_log_observer.cc
,
Apr 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3cb8836601ee74777397d84495bdda4b26359104 commit 3cb8836601ee74777397d84495bdda4b26359104 Author: Maks Orlovich <morlovich@chromium.org> Date: Thu Apr 19 01:53:17 2018 FileNetLogObserver: permit creation with existing file, and in bounded mode permit configuring the scratch directory, don't assume it's next to the output. Both of these are expected to be needed when used in a sandboxed network service process. Bug: 767450 Change-Id: I31e7f951f73f6670719cd35d2d1c9efa80bf5181 Reviewed-on: https://chromium-review.googlesource.com/1007862 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#551917} [modify] https://crrev.com/3cb8836601ee74777397d84495bdda4b26359104/net/log/file_net_log_observer.cc [modify] https://crrev.com/3cb8836601ee74777397d84495bdda4b26359104/net/log/file_net_log_observer.h [modify] https://crrev.com/3cb8836601ee74777397d84495bdda4b26359104/net/log/file_net_log_observer_unittest.cc
,
Apr 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a39052252675be12135e3a486b921916adef59df commit a39052252675be12135e3a486b921916adef59df Author: Maks Orlovich <morlovich@chromium.org> Date: Thu Apr 19 16:16:31 2018 Peel out MojoNetLog into a separate file. While it does not warrant it at present, I do expect to make it bigger --- with some of the ChromeNetLog bits moving over --- plus I will need a natural place for net-export related objects to live, and I figure the two can be roomies (fileies?). Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: Ice90af3f9c7538f6bd73221a514970e63e769a1d Reviewed-on: https://chromium-review.googlesource.com/1017602 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Cr-Commit-Position: refs/heads/master@{#552035} [modify] https://crrev.com/a39052252675be12135e3a486b921916adef59df/services/network/BUILD.gn [add] https://crrev.com/a39052252675be12135e3a486b921916adef59df/services/network/mojo_net_log.cc [add] https://crrev.com/a39052252675be12135e3a486b921916adef59df/services/network/mojo_net_log.h [modify] https://crrev.com/a39052252675be12135e3a486b921916adef59df/services/network/network_service.cc [modify] https://crrev.com/a39052252675be12135e3a486b921916adef59df/services/network/network_service.h
,
Apr 26 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690 commit 25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690 Author: Maks Orlovich <morlovich@chromium.org> Date: Thu Apr 26 03:28:16 2018 FileNetLogObserver: use uint64_t and not size_t for size limits This is so that exporting of this functionality over mojo can accurately express the underlying type and the kNoLimit constant. (Which doesn't seem doable with size_t since its size, and therefore value of its max, differs on different platforms). Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: I741bfe1c942e5ee7752f346932a26e861cefb0c8 Reviewed-on: https://chromium-review.googlesource.com/1027905 Reviewed-by: Eric Roman <eroman@chromium.org> Commit-Queue: Maks Orlovich <morlovich@chromium.org> Cr-Commit-Position: refs/heads/master@{#553891} [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/chrome/browser/ui/webui/net_export_ui.cc [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/components/net_log/net_export_file_writer.cc [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/components/net_log/net_export_file_writer.h [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/ios/chrome/browser/ui/webui/net_export/net_export_ui.mm [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/net/log/file_net_log_observer.cc [modify] https://crrev.com/25d9ec2b2fe416fe3e663c2c50b4eb5a050a2690/net/log/file_net_log_observer.h
,
Apr 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c71746a66a2b601de8221d3a762da638f0ed2b90 commit c71746a66a2b601de8221d3a762da638f0ed2b90 Author: Maks Orlovich <morlovich@chromium.org> Date: Fri Apr 27 21:52:17 2018 iOS: Add NetworkContext wrapper for the SystemURLRequestContext net-export is being moved to be NetworkContext-based as part of servification, so a NetworkContext object is needed for the URLRequestContext that the net-export UI on iOS uses. This is largely based on https://chromium-review.googlesource.com/952342, which added such wrappers for BrowserContext URLRequestContexts, and much of the CL is just moving out the NetworkContextOwner that added into its own file. Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: I7c71b508c54389dc3aa30973cd1ea131b48d64d9 Reviewed-on: https://chromium-review.googlesource.com/1030053 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Reviewed-by: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#554523} [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/browser/DEPS [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/browser/application_context.h [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/browser/application_context_impl.cc [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/browser/application_context_impl.h [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/test/testing_application_context.h [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/chrome/test/testing_application_context.mm [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/BUILD.gn [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/browser_state.mm [add] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/network_context_owner.cc [add] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/network_context_owner_unittest.cc [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/public/browser_state.h [add] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/ios/web/public/network_context_owner.h [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/net/url_request/url_request_test_util.cc [modify] https://crrev.com/c71746a66a2b601de8221d3a762da638f0ed2b90/net/url_request/url_request_test_util.h
,
Apr 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/53744640ec83ca1a6e9005137331aaed9ea9f4b6 commit 53744640ec83ca1a6e9005137331aaed9ea9f4b6 Author: Maks Orlovich <morlovich@chromium.org> Date: Mon Apr 30 19:33:37 2018 S13n: Add APIs for implementing net-export in Network Service (But don't use them yet). This takes care of managing the FileNetLogObserver with a passed-in destination file, and also of all aspects of pulling state from URLRequestContexts, which browser-end NetExportFileExporter presently does but won't be able to with network service. There is one behavior difference in that respect: the in-progress entries for things that are in flight when the export is started now included all URLRequestContexts known, rather than just the main + media + system for whever the export UI is running. Given that events collected when export is active included everything already, this seemed rational as consistent, and avoiding complexity of finding the particular contexts, including the going-away media one. Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: I55334b8282165203f13ecf7a7a7de253fe36b1f1 Reviewed-on: https://chromium-review.googlesource.com/1030033 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Commit-Queue: Maks Orlovich <morlovich@chromium.org> Cr-Commit-Position: refs/heads/master@{#554847} [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/mojo_net_log.cc [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/mojo_net_log.h [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/network_context.cc [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/network_context.h [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/network_context_unittest.cc [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/network_service.cc [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/network_service.h [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/public/mojom/network_service.mojom [modify] https://crrev.com/53744640ec83ca1a6e9005137331aaed9ea9f4b6/services/network/test/test_network_context.h
,
May 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17be53c34899df3d236898c7dd44415ab2ac5c20 commit 17be53c34899df3d236898c7dd44415ab2ac5c20 Author: Min Chen <minch@chromium.org> Date: Tue May 01 00:03:07 2018 Revert "S13n: Add APIs for implementing net-export in Network Service" This reverts commit 53744640ec83ca1a6e9005137331aaed9ea9f4b6. Reason for revert: broken dbg builder since NetworkContextTest.CreateNetLogExporterErrors crashed https://ci.chromium.org/buildbot/chromium.chromiumos/linux-chromeos-dbg/5453 Original change's description: > S13n: Add APIs for implementing net-export in Network Service > > (But don't use them yet). > This takes care of managing the FileNetLogObserver with a passed-in > destination file, and also of all aspects of pulling state from > URLRequestContexts, which browser-end NetExportFileExporter presently > does but won't be able to with network service. > > There is one behavior difference in that respect: the in-progress > entries for things that are in flight when the export is started > now included all URLRequestContexts known, rather than just the > main + media + system for whever the export UI is running. Given > that events collected when export is active included everything > already, this seemed rational as consistent, and avoiding complexity > of finding the particular contexts, including the going-away media one. > > Bug: 767450 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo > Change-Id: I55334b8282165203f13ecf7a7a7de253fe36b1f1 > Reviewed-on: https://chromium-review.googlesource.com/1030033 > Reviewed-by: Tom Sepez <tsepez@chromium.org> > Reviewed-by: Helen Li <xunjieli@chromium.org> > Commit-Queue: Maks Orlovich <morlovich@chromium.org> > Cr-Commit-Position: refs/heads/master@{#554847} TBR=tsepez@chromium.org,xunjieli@chromium.org,morlovich@chromium.org Change-Id: I9a94f130ebb254a61a7afebcb2d7027a23903514 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Reviewed-on: https://chromium-review.googlesource.com/1036486 Reviewed-by: Min Chen <minch@chromium.org> Commit-Queue: Min Chen <minch@chromium.org> Cr-Commit-Position: refs/heads/master@{#554931} [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/mojo_net_log.cc [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/mojo_net_log.h [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/network_context.cc [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/network_context.h [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/network_context_unittest.cc [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/network_service.cc [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/network_service.h [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/public/mojom/network_service.mojom [modify] https://crrev.com/17be53c34899df3d236898c7dd44415ab2ac5c20/services/network/test/test_network_context.h
,
May 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649 commit 1fa1df4b11b55db241aa4c8bc15a32f6a8b42649 Author: Maks Orlovich <morlovich@chromium.org> Date: Thu May 03 21:11:37 2018 Reland: S13n: Add APIs for implementing net-export in Network Service Change for reland: The debug bot failure was because tests passed an invalid base::File to a method with a mojo_base.mojom.File --- as opposed to mojo_base.mojom.File? --- parameter type. This commits to not accepting those files, by adding an additional DCHECK on it and adjusting tests to not do that. Rationale: passing in a broken file is ultimately doing an RPC to do a lot of work that accomplishes nothing, so it's silly to support it, even if a 1-character fix CL would be easier. Original CL: https://chromium-review.googlesource.com/c/chromium/src/+/1030033 Original description: S13n: Add APIs for implementing net-export in Network Service (But don't use them yet). This takes care of managing the FileNetLogObserver with a passed-in destination file, and also of all aspects of pulling state from URLRequestContexts, which browser-end NetExportFileExporter presently does but won't be able to with network service. There is one behavior difference in that respect: the in-progress entries for things that are in flight when the export is started now included all URLRequestContexts known, rather than just the main + media + system for whever the export UI is running. Given that events collected when export is active included everything already, this seemed rational as consistent, and avoiding complexity of finding the particular contexts, including the going-away media one. Bug: 767450 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: Ifd7f8fbcd60ec2dadf7a8b31c6b0ec67d27b9b7b Reviewed-on: https://chromium-review.googlesource.com/1037243 Commit-Queue: Maks Orlovich <morlovich@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Cr-Commit-Position: refs/heads/master@{#555870} [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/mojo_net_log.cc [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/mojo_net_log.h [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/network_context.cc [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/network_context.h [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/network_context_unittest.cc [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/network_service.cc [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/network_service.h [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/public/mojom/network_service.mojom [modify] https://crrev.com/1fa1df4b11b55db241aa4c8bc15a32f6a8b42649/services/network/test/test_network_context.h
,
May 21 2018
"This bug will not block canary" Whatever can possibly work within browser process, can probably get by with some sort of stub NetLog thing, and it's ultimately a dev tool, not a user one. Might need a separate issue for refinement, though.
,
May 22 2018
,
Jun 18 2018
Maks: I assume you're not actively working on this? If not, I may work on hooking up about:net-export. It's only for developers debugging stuff, but if we run into issues with the network service on Canary, I think we're going to want it working.
,
Jun 19 2018
Yeah, switched away from this due to things still actually using NetLog that needed porting at the time. net-export, however, is not one of them --- it works just fine with network service on (or at least did like a month ago), as the only thing it still uses the browser-side NetLog object was to get its mitts on the NetLogExportFileWriter, which then just talks Mojo to NetworkContext. This ownership of course does need to be cleaned up, but that's probably not a priority?
,
Jun 19 2018
Depends on your view of when we should go to Canary - I don't think it makes sense to ship to canary when we have consumers of URLRequestContext in Chrome, or when we still have to instantiate IOThread or ProfileIOData with a dummy URLRequestContext to avoid crashing. I also think we're at only 5 NetLog consumers, two of which are net-internals and net-export, and the other of which are mdns, cast, and setting up the NetworkService itself.
,
Jun 19 2018
Oops - I left out the DataReductionProxy.
,
Oct 5
Maks: If you don't mind, I'm going to steal this from you. DRP still has some dependencies on using a NetLog on the UI thread, but we can still break up ChromeNetLog (And just use a generic NetLog instead in g_browser_process, if we want).
,
Oct 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ed14d99e9e992294390e1271e9ab8e9258b2dd0 commit 6ed14d99e9e992294390e1271e9ab8e9258b2dd0 Author: Matt Menke <mmenke@chromium.org> Date: Fri Oct 05 19:11:23 2018 Remove NetExportFileWriter from ChromeNetLog. Since NetLog is moving to the network service, we will no longer need ChromeNetLog. This is a step towards removing the class, while maintaining all functionality. This is the only member of ChromeNetLog that was used on iOS, so this CL also updates iOS to use NetLog directly instead. Bug: 767450 Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs Change-Id: I0ef4674b564f4575e256d40795bac051242ccf2a Reviewed-on: https://chromium-review.googlesource.com/c/1264915 Commit-Queue: Matt Menke <mmenke@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Reviewed-by: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#597230} [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/chrome/browser/net/system_network_context_manager.cc [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/chrome/browser/net/system_network_context_manager.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/chrome/browser/ui/webui/net_export_ui.cc [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/components/net_log/chrome_net_log.cc [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/components/net_log/chrome_net_log.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/components/net_log/net_export_file_writer.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/application_context.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/application_context_impl.cc [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/application_context_impl.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/ios_chrome_io_thread.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/ios_chrome_io_thread.mm [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/browser/ui/webui/net_export/net_export_ui.mm [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/test/testing_application_context.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/chrome/test/testing_application_context.mm [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/components/io_thread/ios_io_thread.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/components/io_thread/ios_io_thread.mm [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/components/io_thread/ios_io_thread_unittest.mm [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/web_view/internal/app/web_view_io_thread.h [modify] https://crrev.com/6ed14d99e9e992294390e1271e9ab8e9258b2dd0/ios/web_view/internal/app/web_view_io_thread.mm
,
Oct 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/55a16f08c1bc9294b29538f073bfde3cd929979e commit 55a16f08c1bc9294b29538f073bfde3cd929979e Author: Matt Menke <mmenke@chromium.org> Date: Tue Oct 09 23:07:53 2018 NetworkService: Integrate remaining ChromeNetLog features. In particular, add NetLog tracing, and ability to set capture mode when using --log-net-log=<path>. Tracing is fully hooked up, so this removes the old tracing code from ChromeNetLog. While the API now allows setting the initial capture mode when logging to a file, the code currently isn't doing that, so the legacy path for that is still used, when the network service is disabled. Bug: 767450 Cq-Include-Trybots: luci.chromium.try:linux_mojo Change-Id: I7eeeff1ade3e14c80c74382ac2ee70115a0d296e Reviewed-on: https://chromium-review.googlesource.com/c/1265936 Commit-Queue: Matt Menke <mmenke@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#598123} [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/components/net_log/chrome_net_log.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/components/net_log/chrome_net_log.h [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/components/net_log/net_export_file_writer.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/components/net_log/net_export_file_writer.h [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/content/browser/network_service_instance.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/BUILD.gn [add] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/net_log_capture_mode_type_converter.cc [add] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/net_log_capture_mode_type_converter.h [rename] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/net_log_exporter.cc [rename] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/net_log_exporter.h [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/network_context.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/network_context_unittest.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/network_service.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/network_service.h [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/network_service_unittest.cc [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/public/mojom/BUILD.gn [add] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/public/mojom/net_log.mojom [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/public/mojom/network_context.mojom [modify] https://crrev.com/55a16f08c1bc9294b29538f073bfde3cd929979e/services/network/public/mojom/network_service.mojom |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by eroman@chromium.org
, Sep 21 2017