New issue
Advanced search Search tips

Issue 715695 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 15
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug
Proj-Servicification


Sign in to add a comment

Add URLRequestContext configuration to the network service

Project Member Reported by mmenke@chromium.org, Apr 26 2017

Issue description

There are a bunch of configuration options we'll need - things like whether QUIC is enabled, proxy options, cookie store, etc.
 

Comment 1 by mmenke@chromium.org, Apr 26 2017

Blockedon: 715697
Blockedon: 717253
Project Member

Comment 3 by bugdroid1@chromium.org, May 4 2017

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

commit 518c27b2f8b6f890ca41e560cede83555c90f1c9
Author: mmenke <mmenke@chromium.org>
Date: Thu May 04 23:15:21 2017

IOThread::ConstructSystemRequestContext defrag.

Make the order of setting parameters in ConstructSystemRequestContext
exactly match the order in URLRequestContextBuilder.  Also add a few
(trivial) setters to URLRequestContextBuilder for things that
ConstructSystemRequestContext sets that URLRequestContextBuilder does
not support.

This is part of a multi-stage operation to use URLRequestContextBuilder
to create the system URLRequestContext:

1)  Defrag (This CL).
2)  Switch to having a URLRequestContextStorage own everything, and create
everything inline with system URLRequestContext configuration.
3)  Switch the proxy service to using the system URLRequestContext.
4)  Switch to using URLRequestContextBuilder, but having IOThread create
  everything (This could be combined with 2, but 2 will affect a lot of
  accessors, so will probably to do it incrementally)
5)  Switch to having URLRequestContextBuilder create everything it
  reasonably can.

Hopefully the incremental approach will help to protect against regressions.

BUG= 715695 

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

[modify] https://crrev.com/518c27b2f8b6f890ca41e560cede83555c90f1c9/chrome/browser/io_thread.cc
[modify] https://crrev.com/518c27b2f8b6f890ca41e560cede83555c90f1c9/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/518c27b2f8b6f890ca41e560cede83555c90f1c9/net/url_request/url_request_context_builder.h

Project Member

Comment 4 by bugdroid1@chromium.org, May 15 2017

Project Member

Comment 5 by bugdroid1@chromium.org, May 15 2017

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

commit f2e53b2bec633349e045fd4566d841289a295247
Author: mmenke <mmenke@chromium.org>
Date: Mon May 15 18:40:18 2017

Use URLRequestContextStorage for the SystemURLRequestContext.

Not all members are currently stored in it, but I plan to switch them
over in a followup CL.

This is one of the steps in switching the system URLRequestContext over
to using a URLRequestContextBuilder.  The other steps are getting rid of
the ProxyURLRequestContext, and making the builder able to create a
ProxyService that uses V8 (Both with and without mojo).

BUG= 715695 

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

[modify] https://crrev.com/f2e53b2bec633349e045fd4566d841289a295247/chrome/browser/io_thread.cc
[modify] https://crrev.com/f2e53b2bec633349e045fd4566d841289a295247/chrome/browser/io_thread.h

Project Member

Comment 6 by bugdroid1@chromium.org, May 16 2017

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

commit f13aaab4c0c1c0c03fa8f3c2d62291f1a2c12e68
Author: mmenke <mmenke@chromium.org>
Date: Tue May 16 03:56:48 2017

Reorder URLRequestContextStorage members.

In particular, ProxyService depends on NetworkDelegate and
ProxyDelegate, so delete the ProxyService first.

BUG= 715695 

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

[modify] https://crrev.com/f13aaab4c0c1c0c03fa8f3c2d62291f1a2c12e68/net/url_request/url_request_context_storage.cc
[modify] https://crrev.com/f13aaab4c0c1c0c03fa8f3c2d62291f1a2c12e68/net/url_request/url_request_context_storage.h

Comment 7 by mmenke@chromium.org, May 24 2017

Blockedon: 725653

Comment 8 by yzshen@chromium.org, May 24 2017

Components: -Internals>Network Internals>Network>Service

Comment 9 by mmenke@chromium.org, May 30 2017

Blockedon: 727812
Project Member

Comment 11 by bugdroid1@chromium.org, May 31 2017

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

commit 6ddfbead4aad126ef4fef58346ef11ff94a7d2e7
Author: mmenke <mmenke@chromium.org>
Date: Wed May 31 21:48:56 2017

Split HttpNetworkSession::Params into two structs.

Context contains the raw pointers to unowned objects, while Params
contains the inline declared objects, so it's safely copiable.

The goal is to replace URLRequestContextBuilder::HttpNetworkSessionParams
with HttpNetworkSession::Params, as the former is a subset of the latter,
and needs to grow to encompass most of them, anyways, before we can
use URLRequestContextBuilder to build the main URLRequestContexts.

BUG= 725653 , 715695 

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

[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/io_thread.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/io_thread.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/profiles/off_the_record_profile_io_data.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/profiles/profile_browsertest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chromecast/browser/url_request_context_factory.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/chromecast/browser/url_request_context_factory.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/components/gcm_driver/gcm_client_impl.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/components/safe_browsing/browser/safe_browsing_url_request_context_getter.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/content/shell/browser/shell_url_request_context_getter.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/google_apis/gcm/tools/mcs_probe.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/chrome/browser/browser_state/chrome_browser_state_io_data.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/components/io_thread/ios_io_thread.mm
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/crnet/crnet_environment.mm
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/web/shell/shell_url_request_context_getter.mm
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/ios/web_view/internal/web_view_url_request_context_getter.mm
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/jingle/glue/proxy_resolving_client_socket.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/cert_net/cert_net_fetcher_impl_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/bidirectional_stream_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_network_layer_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_network_session.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_network_session.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_network_transaction.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_network_transaction_ssl_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_response_body_drainer_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_stream_factory_impl_job.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_stream_factory_impl_job_controller.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/http/http_stream_factory_impl_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/nqe/network_quality_estimator_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/proxy/proxy_script_fetcher_impl_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/quic/chromium/quic_end_to_end_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/quic/chromium/quic_network_transaction_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/socket/client_socket_pool_manager.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/socket/ssl_client_socket_pool_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/spdy/chromium/spdy_test_util_common.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/spdy/chromium/spdy_test_util_common.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_context.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_context.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_context_builder.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_http_job.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_quic_unittest.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_test_util.cc
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_test_util.h
[modify] https://crrev.com/6ddfbead4aad126ef4fef58346ef11ff94a7d2e7/net/url_request/url_request_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 1 2017

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

commit 7c7f4faf577a95b53693641cae1b60348d26c359
Author: mmenke <mmenke@chromium.org>
Date: Thu Jun 01 00:25:22 2017

Replace URLRequestContextBuilder::HttpNetworkSessionParams
with HttpNetworkSession::Params.  The former was a subset of
the latter.  This allows almost any configuration option to
be applied to an HttpNetworkSession created by a
URLRequestContextBuilder.

TBR=tobiasjs@chromium.org
BUG= 715695 

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

[modify] https://crrev.com/7c7f4faf577a95b53693641cae1b60348d26c359/android_webview/browser/net/aw_url_request_context_getter.cc
[modify] https://crrev.com/7c7f4faf577a95b53693641cae1b60348d26c359/content/network/network_context.cc
[modify] https://crrev.com/7c7f4faf577a95b53693641cae1b60348d26c359/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/7c7f4faf577a95b53693641cae1b60348d26c359/net/url_request/url_request_context_builder.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 8 2017

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

commit e2ad99246ebaa3e6b0a037907a21ea6c692de4ab
Author: mmenke <mmenke@chromium.org>
Date: Thu Jun 08 20:27:36 2017

Make URLRequestContextBuilderV8 Mojo-only.

This will let us use an in-process Mojo resolver on Android, making
the transition to using a network service easier. Network service will
have the same Mojo interface on Android, even if it's running in
process, and will be passed a Mojo ProxyResolverFactory there as well,
just as on other platforms. Only difference is it will create
in-process ProxyResolvers, instead of ProxyResolvers in a utility
process.

Also move some proxy settings from URLRequestContextBuilderV8 to
URLRequestContextBuilder.

BUG= 715695 

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

[modify] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/chrome/utility/chrome_content_utility_client.cc
[modify] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/BUILD.gn
[modify] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/test/run_all_unittests.cc
[modify] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/url_request/url_request_context_builder.h
[add] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/url_request/url_request_context_builder_mojo.cc
[add] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/url_request/url_request_context_builder_mojo.h
[rename] https://crrev.com/e2ad99246ebaa3e6b0a037907a21ea6c692de4ab/net/url_request/url_request_context_builder_mojo_unittest.cc
[delete] https://crrev.com/d7887d9cb29d090b72fbecc5b260ae68b09ce27e/net/url_request/url_request_context_builder_v8.cc
[delete] https://crrev.com/d7887d9cb29d090b72fbecc5b260ae68b09ce27e/net/url_request/url_request_context_builder_v8.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 9 2017

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

commit 1bb4d98b866875041d80b5134eff3e64529382d5
Author: mmenke <mmenke@chromium.org>
Date: Fri Jun 09 22:22:05 2017

Use a MojoProxyResolverFactory on Android.

For simplicity, this CL renames and reuses the UtilityProcessMojoProxyResolverFactory to create the in-process
factory on Android, and out-of-process one everywhere else, though
the paths may need to be separated out again in the future.

This CL will let us switch to using a URLRequestContextBuilderMojo to
create URLRequestContexts.

It does not really get us any closer to hooking up
MojoProxyResolverFactories created in the browser to the network
service, which is still a ways off.

BUG= 715695 

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

[modify] https://crrev.com/1bb4d98b866875041d80b5134eff3e64529382d5/chrome/browser/BUILD.gn
[add] https://crrev.com/1bb4d98b866875041d80b5134eff3e64529382d5/chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc
[add] https://crrev.com/1bb4d98b866875041d80b5134eff3e64529382d5/chrome/browser/net/chrome_mojo_proxy_resolver_factory.h
[modify] https://crrev.com/1bb4d98b866875041d80b5134eff3e64529382d5/chrome/browser/net/proxy_service_factory.cc
[delete] https://crrev.com/6ef29daef4aa32b5c744c645891ac4595bc4d073/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.cc
[delete] https://crrev.com/6ef29daef4aa32b5c744c645891ac4595bc4d073/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 13 2017

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

commit 245d81e82af496cb991ef4e48629f302b5be54a8
Author: mmenke <mmenke@chromium.org>
Date: Tue Jun 13 16:06:08 2017

URLRequestContextBuilder:  Add the ability to create a ReportingService.

This is part of the effort to move ProfileIOData over to using
a URLRequestContextBuilder (From there, we'll merge URLRequestContext
creation logic in ProfileIOData and IOThread, move that into a component,
have the NetworkService onto that component, and then have IOThread and
ProfileIOData use an in-process Network Service to create their
URLRequestContexts, and be able to expose the same API as the
NetworkService for both configuration and issuing requests as well).

BUG= 715695 

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

[modify] https://crrev.com/245d81e82af496cb991ef4e48629f302b5be54a8/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/245d81e82af496cb991ef4e48629f302b5be54a8/net/url_request/url_request_context_builder.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jun 15 2017

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

commit 14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3
Author: mmenke <mmenke@chromium.org>
Date: Thu Jun 15 21:53:54 2017

Use URLRequestContextBuilderMojo to create the SystemURLRequestContext.

Also adds a DhcpProxyScriptFetcherFactoryChromeos, to inject into
the URLRequestContextBuilder on ChromeOS (The actual fetcher must be
created after the URLRequestContext, and the factory avoids the whole
chicken/egg thing).

BUG= 715695 

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

[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/chrome/browser/io_thread.cc
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/chrome/browser/io_thread.h
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/chromeos/BUILD.gn
[add] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/chromeos/network/dhcp_proxy_script_fetcher_factory_chromeos.cc
[add] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/chromeos/network/dhcp_proxy_script_fetcher_factory_chromeos.h
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/proxy/dhcp_proxy_script_fetcher.cc
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/proxy/dhcp_proxy_script_fetcher.h
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/proxy/dhcp_proxy_script_fetcher_factory.cc
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/proxy/dhcp_proxy_script_fetcher_factory.h
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/proxy/dhcp_proxy_script_fetcher_factory_unittest.cc
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/url_request/url_request_context_builder.h
[modify] https://crrev.com/14085ad54d50252bcadd1b1d7dc4a0bca2c9c5b3/net/url_request/url_request_context_builder_mojo.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 27 2017

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

commit 8d890ab33ea80c5a4b903f7717c77043525088ab
Author: mmenke <mmenke@chromium.org>
Date: Tue Jun 27 21:15:33 2017

Make URLRequestContextBuilder use base/task_scheduler/
when no file thread is specified.

When no thread was input, it used to create a single thread itself
and run most file operations on that. Now it creates
[Sequenced]TaskRunners for the TransportSecurityPersister and to
handle file URLs. It also creates a SingleThreadedTaskRunner for
the cache, if enabled. This makes it more friendly to use in
Chrome, without causing extra threads to be created.

If this behavior is not desired, the consumer can still pass in a
SingleThreadedTaskRunner, and that will be used instead.

The properties it uses do not exactly match what ProfileIOData is
using - file URLs now use a USER_BLOCKING TaskRunner instead of
USER_VISIBLE.

This is a followup to https://codereview.chromium.org/2929153002/.

BUG= 715695 

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

[modify] https://crrev.com/8d890ab33ea80c5a4b903f7717c77043525088ab/content/network/url_loader_unittest.cc
[modify] https://crrev.com/8d890ab33ea80c5a4b903f7717c77043525088ab/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/8d890ab33ea80c5a4b903f7717c77043525088ab/net/url_request/url_request_context_builder.h

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 27 2017

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

commit 5167a68813ef5edb1445e205e5489059285e3885
Author: mmenke <mmenke@chromium.org>
Date: Tue Jun 27 23:19:35 2017

Move common main URLRequestContext setup code to ProfileIOData
from subclasses.

Also move ownership of some ProfileIOData components from globals
to the URLRequestContextStorage of the main URLRequestContext.

BUG= 715695 

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

[modify] https://crrev.com/5167a68813ef5edb1445e205e5489059285e3885/chrome/browser/profiles/off_the_record_profile_io_data.cc
[modify] https://crrev.com/5167a68813ef5edb1445e205e5489059285e3885/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/5167a68813ef5edb1445e205e5489059285e3885/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/5167a68813ef5edb1445e205e5489059285e3885/chrome/browser/profiles/profile_io_data.h

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 28 2017

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

commit 51629db1e4abd11d33150d7fc0a2207c0fc5cd9c
Author: mmenke <mmenke@chromium.org>
Date: Wed Jun 28 13:34:12 2017

Fix Cronet tests.

These were broken when URLRequestContextBuilder was switched over to
using task_scheduler by default in
https://codereview.chromium.org/2951813002/.

The fix is to instantiate a base::test::ScopedTaskEnvironment instead
of a MessageLoopForIO.

BUG= 715695 , 737326 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

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

[modify] https://crrev.com/51629db1e4abd11d33150d7fc0a2207c0fc5cd9c/components/cronet/stale_host_resolver_unittest.cc
[modify] https://crrev.com/51629db1e4abd11d33150d7fc0a2207c0fc5cd9c/components/cronet/url_request_context_config_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Jun 28 2017

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

commit 96d015158540ab690ed826b542e649676966d362
Author: mmenke <mmenke@chromium.org>
Date: Wed Jun 28 20:08:47 2017

Set up TransportSecurityState subcomponents last in ProfileIOData.

They're still set up before the first network request can be made.

This allows the main URLRequestContext to be set up using
URLRequestContextBuilder without having to inject more objects into
the builder. It may make sense to move some of the logic there at
some point, but that's an issue for another day.

BUG= 715695 

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

[modify] https://crrev.com/96d015158540ab690ed826b542e649676966d362/chrome/browser/profiles/profile_io_data.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Jun 29 2017

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

commit fd9d15c7367786f7d2cb115c14d287b1611c9871
Author: mmenke <mmenke@chromium.org>
Date: Thu Jun 29 13:45:54 2017

Add option to build net/ without Reporting to fix size regression in Cronet.

This was caused by https://codereview.chromium.org/2933333002.

BUG= 715695 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

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

[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/components/cronet/tools/cr_cronet.py
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/BUILD.gn
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/features.gni
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_context_builder.h
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_context_storage.cc
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_context_storage.h
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_http_job.cc
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/net/url_request/url_request_unittest.cc
[modify] https://crrev.com/fd9d15c7367786f7d2cb115c14d287b1611c9871/tools/mb/mb_config.pyl

Project Member

Comment 23 by bugdroid1@chromium.org, Jun 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/08e0a31c4c7e0e4d29577bed631eeb3fd56098ba

commit 08e0a31c4c7e0e4d29577bed631eeb3fd56098ba
Author: Paul Jensen <pauljensen@google.com>
Date: Fri Jun 30 11:22:20 2017

Set enable_reporting build flag to false for Cronet

This matches similar changes in crrev.com/483348

BUG= 715695 
R=xunjieli
CC=mmenke

Change-Id: Ib218ae4227b73e88a0dff52714624a1e27b4cc67
Reviewed-on: https://chromium-review.googlesource.com/556419
Commit-Queue: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Helen Li <xunjieli@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>

[modify] https://crrev.com/08e0a31c4c7e0e4d29577bed631eeb3fd56098ba/scripts/slave/recipe_modules/chromium_android/chromium_config.py
[modify] https://crrev.com/08e0a31c4c7e0e4d29577bed631eeb3fd56098ba/scripts/slave/recipe_modules/cronet/examples/full.expected/gn_test.json

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 13 2017

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

commit f73a51226b54539fc543cbb29784ab036b76dc40
Author: mmenke <mmenke@chromium.org>
Date: Thu Jul 13 23:27:39 2017

Introduce SystemNetworkContextManager.

The new class provides access to the SystemURLRequestContext via
an in-process NetworkService and the NetworkContext Mojo API.
Eventually, we should remove IOThread entirely, and have the
SystemNetworkContextManager perform all configuration of the
SystemRequestContext, and provide access to it as well.

The in-process network service currently just takes a
URLRequestContextBuilder from IOThread and uses that to create the
URLRequestContext, but this gives us a path to switch over
configuration so that it goes through the NetworkService API. It also
lets us switch consumers over to using the NetworkContext API without
having to create a wrapper that supports both the shiny new Mojo API
the legacy one.

When network service is enabled, the SystemNetworkContextManager will
use an out-of-process URLRequestContext instead of an in-process one,
while the IOThread will continue to use an in-process ones.

BUG= 715695 

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

[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/BUILD.gn
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/DEPS
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/io_thread.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/io_thread.h
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/net/system_network_context_manager.cc
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/net/system_network_context_manager.h
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/net/system_network_context_manager_browsertest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/chrome/test/BUILD.gn
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/BUILD.gn
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/browser/blob_storage/blob_url_unittest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/browser/loader/DEPS
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/browser/loader/mojo_async_resource_handler_unittest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/browser/loader/url_loader_factory_impl_unittest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/BUILD.gn
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/DEPS
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/network_context.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/network_context.h
[rename] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/network_service_impl.cc
[rename] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/network_service_impl.h
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/network_service_unittest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/network/url_loader_unittest.cc
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/browser/BUILD.gn
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/browser/network_service_instance.cc
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/browser/network_service_instance.h
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/network/BUILD.gn
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/network/DEPS
[add] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/network/network_service.h
[rename] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/test/test_url_loader_client.cc
[rename] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/public/test/test_url_loader_client.h
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/test/BUILD.gn
[modify] https://crrev.com/f73a51226b54539fc543cbb29784ab036b76dc40/content/utility/utility_service_factory.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Jul 23 2017

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

commit 0d1d09c3691ba940649051a8d172b356cc1ef7b1
Author: mmenke <mmenke@chromium.org>
Date: Sun Jul 23 20:19:13 2017

Hook up ProfileIOData's URLRequestContext to a NetworkService.

This CL adds ProfileNetworkContextService, a BrowserContext
KeyedService, that wraps ProfileIOData's URLRequestContext in a
NetworkContext (Which ProfileIOData hooks up to IOThread's in-process
NetworkService), and provides NetworkContext configuration parameters
for it as well.

When the network service is disabled, the new service provides direct
access to the net NetworkContext. When the network service is enabled,
the new service configures and provides acess to the StoragePartition's
NetworkContext instance instead (Though it still sets up a
NetworkContext for ProfileIOData's URLRequestContext as well).

Bug= 715695 

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

[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/BUILD.gn
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/chrome_content_browser_client.h
[add] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/net/network_context_configuration_browsertest.cc
[add] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/net/profile_network_context_service.cc
[add] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/net/profile_network_context_service.h
[add] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/net/profile_network_context_service_factory.cc
[add] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/net/profile_network_context_service_factory.h
[delete] https://crrev.com/d47528294061f99e303dc031b86b0f7179cec4a5/chrome/browser/net/system_network_context_manager_browsertest.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/browser/profiles/profile_io_data.h
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/chrome/test/BUILD.gn
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/storage_partition_impl.h
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/url_loader_factory_getter.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/browser/webui/web_ui_url_loader_factory.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/network/DEPS
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/network/network_context.h
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/network/url_loader_unittest.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/public/browser/content_browser_client.h
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/public/browser/storage_partition.h
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/public/common/resource_request.cc
[modify] https://crrev.com/0d1d09c3691ba940649051a8d172b356cc1ef7b1/content/public/common/resource_request.h

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 28 2017

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

commit 2ad818f227de2b77294e4c81ed4124e7918b6c13
Author: Matt Menke <mmenke@chromium.org>
Date: Fri Jul 28 16:16:24 2017

Fix NetworkContextConfigurationBrowserTests.

The test fixture was supposed to run tests with and without the network
service enabled, but due to a bug, was only running them with the
service enabled.

Bug:  715695 
Change-Id: I10d25e54f78b31e55828e79345f8cedcb23b8d01
Reviewed-on: https://chromium-review.googlesource.com/590607
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490418}
[modify] https://crrev.com/2ad818f227de2b77294e4c81ed4124e7918b6c13/chrome/browser/net/network_context_configuration_browsertest.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 29 2017

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

commit 64b9fc75ac96739086829549ff76fd7bd6a8f267
Author: Matt Menke <mmenke@chromium.org>
Date: Sat Jul 29 02:22:45 2017

Move more network configuration into NetworkSessionConfigurator.

This will make it easier to share configuration logic with the network
service, and keeps the configuration code isolated from everything
else.

Bug:  715695 
Change-Id: I667976b1e17518a7b3501db66ff40b4a9345bcaa
Reviewed-on: https://chromium-review.googlesource.com/585637
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490585}
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/browser/about_flags.cc
[delete] https://crrev.com/a41d41e9c64f6d1c68a54da7600aad2124d49cab/chrome/browser/chrome_switches_browsertest.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/browser/io_thread.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/browser/io_thread.h
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/common/chrome_switches.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/common/chrome_switches.h
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/chrome/test/BUILD.gn
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/browser/network_session_configurator.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/browser/network_session_configurator_unittest.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/common/BUILD.gn
[add] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/common/network_features.cc
[add] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/common/network_features.h
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/components/network_session_configurator/common/network_switch_list.h
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/content/public/common/content_features.cc
[modify] https://crrev.com/64b9fc75ac96739086829549ff76fd7bd6a8f267/content/public/common/content_features.h

Project Member

Comment 28 by bugdroid1@chromium.org, Jul 31 2017

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

commit 0f3fc0e039844614d7db61352dc9ce9d09b9abbf
Author: Matt Menke <mmenke@chromium.org>
Date: Mon Jul 31 03:47:43 2017

NetworkService:  Add configuration for data, file, and ftp schemes.

Bug:  715695 
Change-Id: I093262cfefeca6b70eb09c9d94764f4ed4f786c2
Reviewed-on: https://chromium-review.googlesource.com/583632
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Oliver Chang <ochang@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490706}
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/profiles/off_the_record_profile_io_data.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/chrome/browser/profiles/profile_io_data.h
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/network/network_context.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/network/network_context.h
[add] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/network/network_context_unittest.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/network/network_service_impl.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/network/network_service_impl.h
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/public/common/network_service.mojom
[modify] https://crrev.com/0f3fc0e039844614d7db61352dc9ce9d09b9abbf/content/test/BUILD.gn

Project Member

Comment 29 by bugdroid1@chromium.org, Aug 3 2017

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

commit cfef87df55ccac75e9de7b1321f663903ae6794f
Author: Matt Menke <mmenke@chromium.org>
Date: Thu Aug 03 13:03:06 2017

Hook up DisableQuic logic when the network service is enabled.

This CL also refactors how it works in the case when the
network service is disabled to go through the IOThread's
NetworkService.

Bug:  715695 
Change-Id: I3df5126207df21065a42309b8e786f74dabae6cf
Reviewed-on: https://chromium-review.googlesource.com/594670
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491716}
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/BUILD.gn
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/io_thread.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/io_thread.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/io_thread_unittest.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/net/profile_network_context_service.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/net/system_network_context_manager.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/policy/policy_network_browsertest.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/prefs/browser_prefs.cc
[delete] https://crrev.com/f471810d59597fda437adc2db434a2f5f1e58cfc/chrome/browser/profiles/net_http_session_params_observer.cc
[delete] https://crrev.com/f471810d59597fda437adc2db434a2f5f1e58cfc/chrome/browser/profiles/net_http_session_params_observer.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/chrome/browser/profiles/profile_io_data.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/network/network_context.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/network/network_context.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/network/network_context_unittest.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/network/network_service_impl.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/network/network_service_impl.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/public/common/network_service.mojom
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/public/network/network_service.h
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/content/test/BUILD.gn
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/cfef87df55ccac75e9de7b1321f663903ae6794f/net/url_request/url_request_context_builder.h

Project Member

Comment 30 by bugdroid1@chromium.org, Aug 3 2017

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

commit bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484
Author: Matt Menke <mmenke@chromium.org>
Date: Thu Aug 03 13:56:24 2017

Add HttpNetworkSession configuration to the network service.

Bug:  715695 
Change-Id: Ie0d1c6b22b96c9d144721953ba09fbe3a7528484
Reviewed-on: https://chromium-review.googlesource.com/596804
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491726}
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/BUILD.gn
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/io_thread.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/io_thread.h
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/io_thread_unittest.cc
[add] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/net/default_network_context_params.cc
[add] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/net/default_network_context_params.h
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/content/network/BUILD.gn
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/content/network/network_context.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/content/network/network_context_unittest.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/content/public/common/network_service.mojom
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/bdf84c7c7ceba80f8bb3eb5542916f7f7e1e4484/net/url_request/url_request_context_builder.h

Project Member

Comment 31 by bugdroid1@chromium.org, Aug 3 2017

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

commit 6503307b8c3d696e257a8b793976bfabcbac5d96
Author: Matt Menke <mmenke@chromium.org>
Date: Thu Aug 03 20:10:23 2017

Add cache configuration to network service.

The main cache used to be configured in ProfileImpl and ProfileImplIOData
(And OTRProfileIOData). This CL moves it over to
ProfileNetworkContextService and NetworkContext, for both OTR and
non-OTR profiles, and move the code to disable caching for the system
URLRequestContext from IOThread to SystemNetworkContextManager.


Bug:  715695 
Change-Id: I479068778088a292dae29371f92e6a8958aa3c9d
Reviewed-on: https://chromium-review.googlesource.com/587612
Reviewed-by: Bence Béky <bnc@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Randy Smith <rdsmith@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491824}
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/io_thread.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/net/profile_network_context_service.cc
[add] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/net/profile_network_context_service_browsertest.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/off_the_record_profile_io_data.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/profile_browsertest.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/profile_impl.h
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/browser/profiles/profile_impl_io_data.h
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/common/chrome_switches.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/common/chrome_switches.h
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/chrome/test/BUILD.gn
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/components/network_session_configurator/browser/network_session_configurator.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/components/network_session_configurator/browser/network_session_configurator.h
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/components/network_session_configurator/browser/network_session_configurator_unittest.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/components/network_session_configurator/common/network_switch_list.h
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/network/BUILD.gn
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/network/cache_url_loader.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/network/network_context.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/network/network_context_unittest.cc
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/public/common/network_service.mojom
[modify] https://crrev.com/6503307b8c3d696e257a8b793976bfabcbac5d96/content/test/BUILD.gn

Blockedon: 754007
Blockedon: 755309
Blocking: 757960
Blocking: -757960
Blockedon: 757960
Blockedon: 757973
Project Member

Comment 38 by bugdroid1@chromium.org, Sep 26 2017

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

commit d97617a165f7d19ce95ceaa57c1b5195d21a9a63
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Sep 26 00:21:35 2017

Hook up saving HttpServerProperties to the network service.

It now saves them in its own pref file, rather than using a shared one.
Since these aren't meant to be directly modified by the embedder, but
rather just used as a key-value store, there's minimal benefit from
sharing a pref store with Chrome. This approach is a little simpler,
and also lets us flush to it on clean shutdown (not currently
implemented).

Also moves ClearNetworkingHistorySince over to NetworkContext, as it
relies on the HttpServerPropertiesManager API (rather than just the
HttpServerPropertiesAPI).

Bug:  715695 
Change-Id: Icca19030ac95d9c9d5bc7b78b24357458ec50adc
Reviewed-on: https://chromium-review.googlesource.com/679396
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504229}
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/browser/BUILD.gn
[delete] https://crrev.com/bc2c9db3d68c50ee7dfffb2c1e15b4d149d653bf/chrome/browser/net/http_server_properties_manager_factory.cc
[delete] https://crrev.com/bc2c9db3d68c50ee7dfffb2c1e15b4d149d653bf/chrome/browser/net/http_server_properties_manager_factory.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/browser/profiles/profile_impl_io_data.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/common/chrome_constants.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/common/chrome_constants.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/common/pref_names.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/chrome/common/pref_names.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/BUILD.gn
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/DEPS
[add] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/http_server_properties_pref_delegate.cc
[add] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/http_server_properties_pref_delegate.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/network_context.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/network_context.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/network_context_unittest.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/network_service_impl.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/network_service_impl.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/network/url_loader_unittest.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/content/public/common/network_service.mojom
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/net/http/http_server_properties_manager.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/net/http/http_server_properties_manager.h
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/net/http/http_server_properties_manager_unittest.cc
[modify] https://crrev.com/d97617a165f7d19ce95ceaa57c1b5195d21a9a63/net/url_request/url_request_context_builder.h

Project Member

Comment 39 by bugdroid1@chromium.org, Sep 26 2017

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

commit 7d4b66f7910620c157848fa9ee762c393de18a5c
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Sep 26 04:09:55 2017

Use Brotli and set URLRequestContext names when using network service.

This CL adds a way to set both of these using NetworkContextParams, and
updates Chrome to set both through the new path for both the system and
main profile URLRequestContexts.

Bug:  715695 
Change-Id: I514bf9ae6923f380bcf550046c9f0b0e9952f270
Reviewed-on: https://chromium-review.googlesource.com/629136
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Helen Li <xunjieli@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504280}
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/io_thread.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/io_thread.h
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/net/default_network_context_params.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/net/profile_network_context_service_browsertest.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/content/network/network_context.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/content/network/network_context_unittest.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/content/public/common/network_service.mojom
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/net/url_request/url_request_context.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/net/url_request/url_request_context.h
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/7d4b66f7910620c157848fa9ee762c393de18a5c/net/url_request/url_request_context_builder.h

Project Member

Comment 40 by bugdroid1@chromium.org, Oct 17 2017

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

commit 242fc1a3bd05e0cb80192890d799324849ce5471
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Oct 17 02:48:01 2017

Make BrowsingDataRemoverImpl use the network service API directly to
clear HSTS data and HttpServerProperties.

Also move that logic from chrome/ to content/, since the data isn't
specific to Chrome. The new tests are written to work when the network
service is run out of process, rather than rely on direct access to
net objects.

It had been going through ProfileIOData unnecessarily, since it has
direct access to all the relevant classes. The goal is to eventually
remove ProfileIOData, and make consumers use the network service
directly, rather than go through chrome/ classes. The new code will
work both when running with an in-process network stack and when
running with the network service.

TBR=phajdan.jr@chromium.org, khmel@chromium.org

Bug:  715695 
Change-Id: I2e0c8b4ea0ffd7f718412699e773c900f786c62d
Reviewed-on: https://chromium-review.googlesource.com/719736
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509244}
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/off_the_record_profile_impl.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/off_the_record_profile_impl.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/profile.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/profile_impl.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/profiles/profile_impl_io_data.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/ui/app_list/test/fake_profile.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/browser/ui/app_list/test/fake_profile.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/test/base/testing_profile.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/chrome/test/base/testing_profile.h
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/content/browser/browsing_data/browsing_data_remover_impl.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/content/browser/browsing_data/browsing_data_remover_impl.h
[add] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/content/browser/browsing_data/browsing_data_remover_impl_browsertest.cc
[modify] https://crrev.com/242fc1a3bd05e0cb80192890d799324849ce5471/content/test/BUILD.gn

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

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

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

commit f01ecf7eb114bfd169020dc66bceb765613210a0
Author: Matt Menke <mmenke@chromium.org>
Date: Fri Jan 05 16:55:31 2018

Flush the NetworkService Mojo pipe in QUIC disabled policy tests.

Since ordering of events on different Mojo pipes is not guaranteed,
the tests should flush the pipe before sending out requests over
a URLLoader pipe to check whether QUIC is enabled.

I'm unaware of any tests bing flake due to this race, but it's best to
just avoid the race entirely, even if we always "win" it.

Bug:  715695 
Change-Id: I78fe76869eacff76c134db24b92a195ed6bb7ba7
Reviewed-on: https://chromium-review.googlesource.com/837603
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527298}
[modify] https://crrev.com/f01ecf7eb114bfd169020dc66bceb765613210a0/chrome/browser/policy/policy_network_browsertest.cc

Project Member

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

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

commit abb7a387f14a63deb46bcea2420be8d7a6d347ff
Author: Matt Menke <mmenke@chromium.org>
Date: Fri Mar 23 18:25:23 2018

Set up a NetworkQualityEstimator in the NetworkService.

Observers aren't hooked up in this CL, the NQE is just created.
Also makes the in-process path use the NetworkService object's
NQE, to make the two paths more similar and shared configuration
code.

Bug:  715695 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I1b29df128820f77dc923bc2b6cfc09e04049866c
Reviewed-on: https://chromium-review.googlesource.com/950082
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545524}
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/about_flags.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/io_thread.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/io_thread.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/io_thread_browsertest.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/metrics/network_quality_estimator_provider_impl.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/net/nqe/ui_network_quality_estimator_service.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/net/nqe/ui_network_quality_estimator_service_test_util.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/profiles/profile_io_data.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/common/chrome_switches.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/common/chrome_switches.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/chrome/test/BUILD.gn
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/content/browser/utility_process_host.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/net/nqe/throughput_analyzer.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/network_context.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/network_context.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/network_service.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/network_service.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/public/cpp/network_switches.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/public/cpp/network_switches.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/url_request_context_builder_mojo.cc
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/services/network/url_request_context_builder_mojo.h
[modify] https://crrev.com/abb7a387f14a63deb46bcea2420be8d7a6d347ff/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter

Blockedon: 835470
Project Member

Comment 45 by bugdroid1@chromium.org, May 3 2018

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

commit d476eddae62c071318339bb6b0d6c2fa2bd77f8e
Author: Matt Menke <mmenke@chromium.org>
Date: Thu May 03 16:43:50 2018

NetworkService:  Add HTTPS URL path stripping for PACs and quick check.

Also adds an integration test for path stripping, but not for
quick check.

Bug:  715695 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I45d37089d305c5a6683afbac762ef767b910fb0f
Reviewed-on: https://chromium-review.googlesource.com/1028177
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Eric Roman <eroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555769}
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/io_thread.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/io_thread.h
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/net/default_network_context_params.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/net/default_network_context_params.h
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/net/proxy_resolution/proxy_resolution_service.h
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/services/network/network_context.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/services/network/network_context_unittest.cc
[modify] https://crrev.com/d476eddae62c071318339bb6b0d6c2fa2bd77f8e/services/network/public/mojom/network_service.mojom

Labels: -Pri-3 Proj-Servicification-Canary Pri-1
Owner: ----
Status: Available (was: Assigned)
Marking this available, since it's more of a meta-bug.

Comment 47 by dxie@chromium.org, Jun 8 2018

Labels: OS-Chrome OS-Windows OS-Mac OS-Linux
@Matt: since all blocking bugs are fixed, is there anything else left?
We need to handle the media URLRequestContext, app URLRequestContexts, and channel ID, at least.  There's also cert verification.  I suppose the extensions URLRequestContext is a bit tangential, and there are separate bugs for domain reliability, NetLog, and the DRP.  There's also the network error logging service.  NetLog has its own bug, I think.
Status: Started (was: Available)
We're now in a place where setting up the AppRequestContexts to use hybrid NetworkContext configuration seems a reasonable step.
Owner: mmenke@chromium.org
Status: Fixed (was: Started)
Project Member

Comment 53 by bugdroid1@chromium.org, Nov 20

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

commit 7f7cababb657ac3f625f77a59c34863c3708e044
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Nov 20 22:01:55 2018

Remove net.http_server_properties entry from profile prefs file.

I migrated it to the network service's pref files a year or so back,
but didn't realize unregistered prefs weren't automatically pruned from
preference files, so never deleted the old entries. Given that this pref
can be quite large, it definitely needs to be pruned.

Bug:  715695 
Change-Id: Ia9f1592a5064cdcdfe22bf144c5c5e66a272ec9d
Reviewed-on: https://chromium-review.googlesource.com/c/1344989
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609817}
[modify] https://crrev.com/7f7cababb657ac3f625f77a59c34863c3708e044/chrome/browser/prefs/browser_prefs.cc

Sign in to add a comment