New issue
Advanced search Search tips

Issue 779219 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 760294
issue 777000



Sign in to add a comment

Persist the state of data saver proxies on the disk

Project Member Reported by tbansal@chromium.org, Oct 27 2017

Issue description

We should add a mechanism to persist the state of the data saver proxies on the disk. For now, this includes whether the secure proxies are allowed (or not), and if the insecure proxies are allowed or not. This information should be indexed by the network ID. At the startup time, Chrome should read back this information, and use it in determining the set of data saver proxies to enable.
 
Labels: -Pri-3 M-64 Pri-2
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 31 2017

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

commit e1e5e454be341bafd2e4768ebedd37f4eaae7448
Author: Tarun Bansal <tbansal@chromium.org>
Date: Tue Oct 31 22:56:11 2017

Add a struct to store network properties in data saver

The struct would be used to store different network
properties related to data saver proxy. The properties
include (but are not limited to) state of different proxy
server schemes.

Bug:  779219 
Change-Id: Idd82c2035cf047feaa8134e57a1bacda2eafb1b0
Reviewed-on: https://chromium-review.googlesource.com/742485
Reviewed-by: Scott Little <sclittle@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512987}
[modify] https://crrev.com/e1e5e454be341bafd2e4768ebedd37f4eaae7448/components/data_reduction_proxy/core/browser/BUILD.gn
[add] https://crrev.com/e1e5e454be341bafd2e4768ebedd37f4eaae7448/components/data_reduction_proxy/core/browser/network_property.cc
[add] https://crrev.com/e1e5e454be341bafd2e4768ebedd37f4eaae7448/components/data_reduction_proxy/core/browser/network_property.h
[add] https://crrev.com/e1e5e454be341bafd2e4768ebedd37f4eaae7448/components/data_reduction_proxy/core/browser/network_property_unittest.cc

just wondering: will we store any information of OTR profiles?
No, the information would be stored for only the profiles with data saver enabled. Also, the state would be cleared if the user clears the browsing history.
and we never enable data saver for incognito profiles?

Comment 6 by bengr@chromium.org, Nov 3 2017

That is correct. Data Saver is not available on incognito profiles.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 4 2017

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

commit d083ef1987abee8b969cab5ce2bde1cd9793f463
Author: Tarun Bansal <tbansal@chromium.org>
Date: Sat Nov 04 02:13:11 2017

Add network property struct to store the state of data reduction
proxies.

Also, update DataReductionProxyConfig class to use the network property
struct instead of the individual boolean members. This CL
does not make any functional change.

Bug:  779219 
Change-Id: I861b4fdc4f01a3948fc12241c6eabc09c58e53e4
Reviewed-on: https://chromium-review.googlesource.com/750184
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Scott Little <sclittle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514016}
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/BUILD.gn
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
[add] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/network_properties_manager.cc
[add] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/network_properties_manager.h
[add] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/core/browser/network_properties_manager_unittest.cc
[delete] https://crrev.com/3e20dde5752bac74f8c419979b66017edeb07b65/components/data_reduction_proxy/core/browser/network_property.cc
[delete] https://crrev.com/3e20dde5752bac74f8c419979b66017edeb07b65/components/data_reduction_proxy/core/browser/network_property.h
[delete] https://crrev.com/3e20dde5752bac74f8c419979b66017edeb07b65/components/data_reduction_proxy/core/browser/network_property_unittest.cc
[modify] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/proto/BUILD.gn
[add] https://crrev.com/d083ef1987abee8b969cab5ce2bde1cd9793f463/components/data_reduction_proxy/proto/network_properties.proto

Blocking: 777000
Design doc here: http://shortn/_zpfIHDeAzD
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 1 2017

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

commit 61ec24f591a8fee385405a919a0229e997208702
Author: Tarun Bansal <tbansal@chromium.org>
Date: Fri Dec 01 22:03:15 2017

Persist and read the state of data reduction proxies from the disk prefs.

* Change ownership of the network properties manager in data reduction proxy:
Network properties manager is now created and destroyed on the UI thread,
and has access to both UI and IO task runners. This allows it
to read/write the prefs on the UI task runner (next CL), while also
exposing the network properties to d_r_p_config on IO thread (next CL).

* State of the Data saver proxies is now persisted on the disk, and read
back at the time of startup, or on connection change events.

Bug:  779219 
Change-Id: I0276c78541bbd84ef3a2edc5056dc943955c608b
Reviewed-on: https://chromium-review.googlesource.com/756646
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Scott Little <sclittle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521080}
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data_unittest.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_prefs.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_service.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_unittest.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/network_properties_manager.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/network_properties_manager.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/browser/network_properties_manager_unittest.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/components/data_reduction_proxy/proto/network_properties.proto
[modify] https://crrev.com/61ec24f591a8fee385405a919a0229e997208702/tools/metrics/histograms/histograms.xml

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 4 2017

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

commit 191c0cae61c4174793c40419a931212547e1aa71
Author: Tarun Bansal <tbansal@chromium.org>
Date: Mon Dec 04 23:48:35 2017

Add the state of non-core data saver proxies to the network properties manager

State of the core data saver proxies are now independent from
the state of the non-core data saver proxies.

Bug:  779219 
Change-Id: Id765548736f96ec85db9720a1eb73af95b525b32
Reviewed-on: https://chromium-review.googlesource.com/770146
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521528}
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client_unittest.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_unittest.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_unittest.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/network_properties_manager.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/network_properties_manager.h
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/browser/network_properties_manager_unittest.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/common/BUILD.gn
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/core/common/data_reduction_proxy_event_store_unittest.cc
[modify] https://crrev.com/191c0cae61c4174793c40419a931212547e1aa71/components/data_reduction_proxy/proto/network_properties.proto

Status: Fixed (was: Started)
Project Member

Comment 13 by bugdroid1@chromium.org, Dec 29 2017

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

commit 6b0a6d4b55d8e89ff92f43c7d04776d8dbacc00f
Author: Tarun Bansal <tbansal@chromium.org>
Date: Fri Dec 29 03:05:42 2017

Generate synthethic RTT and throughput observations based on the
effective connection type.

Bug:  779219 
Change-Id: I59da540ad91469527b65a684c97178e7987afeae
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Reviewed-on: https://chromium-review.googlesource.com/841106
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526354}
[modify] https://crrev.com/6b0a6d4b55d8e89ff92f43c7d04776d8dbacc00f/net/nqe/cached_network_quality.h
[modify] https://crrev.com/6b0a6d4b55d8e89ff92f43c7d04776d8dbacc00f/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/6b0a6d4b55d8e89ff92f43c7d04776d8dbacc00f/net/nqe/network_quality_estimator_unittest.cc

Sign in to add a comment