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

Issue 725653 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-Servicification

Blocking:
issue 715695



Sign in to add a comment

Split HttpNetworkSession::Params in two.

Project Member Reported by mmenke@chromium.org, May 23 2017

Issue description

HttpNetworkSession::Params currently contains two types of objects:  data of basically POD types (including vectors) that it owns, and have no ownership/lifetime issues, and raw pointers to things it does not own, with more complicated lifetimes.

I want to split these up into two classes, and make the URLRequestContextBuilder take the POD types as an arugment (Right now, it takes URLRequestContextBuilder ::HttpNetworkSessionParams, which is a random subset of the POD types, and has to match the initialization logic of HttpNetworkSession::Params).  That way, we can only have one copy of the initialization logic, and pass the set of real params directly to the URLRequestContextBuilder, which is what we should use to create all URLRequestContexts, going forward.
 

Comment 1 by mmenke@chromium.org, May 23 2017

I propose calling the POD types of HttpNetworkSession::Params, and the other objects HttpNetworkSession::Context, though I don't have my heart set on that.

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

Blocking: 715695
Components: Internals>Network
Project Member

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

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

commit 0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27
Author: mmenke <mmenke@chromium.org>
Date: Fri May 26 20:36:11 2017

Make HttpNetworkSession::host_mapping_rules no longer a pointer.

TBR=dimich@chromium.org
BUG= 725653 

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

[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/chrome/browser/io_thread.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/google_apis/gcm/tools/mcs_probe.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/base/host_mapping_rules.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/base/host_mapping_rules.h
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/http/http_network_session.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/http/http_network_session.h
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/http/http_stream_factory_impl.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/http/http_stream_factory_impl_job_controller.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/0d700dd8b90fd715b2355ad69e5fadfd4fa9eb27/net/url_request/url_request_context_builder.h

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

Components: -Internals>Network Internals>Network>Service
Project Member

Comment 5 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

Status: Fixed (was: Assigned)

Comment 7 by laforge@google.com, Nov 7 2017

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

Sign in to add a comment