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

Issue 740172 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

[Cronet iOS]: Add support for store_server_configs_in_properties QUIC experimental option

Project Member Reported by kapishnikov@chromium.org, Jul 7 2017

Issue description

The "store_server_configs_in_properties" QUIC experimental option allows persistent storage of server configs (e.g. info to establish 0-RTT sessions after an app restart) without explicitly enabling disk cache. This option would be very beneficial for embedders who would like to store server info without caching responses.

See the Android implementation:
https://cs.chromium.org/chromium/src/components/cronet/url_request_context_config.cc?type=cs&q=%22store_server_configs_in_properties%22;&sq=package:chromium&l=42

 
It'll be helpful to dump the "effective" experimental options in NetLog like the Android implementation (https://cs.chromium.org/chromium/src/components/cronet/android/cronet_url_request_context_adapter.cc?rcl=1ec933642722f033962838c7b5588a6cdc88129e&l=1089). It will save us trouble debugging whether an option is in effect.

Comment 2 by sczs@chromium.org, Jul 19 2017

Owner: kapishnikov@chromium.org
Status: Assigned (was: Untriaged)
Assigning to kapishnikov@ as this seems to be a tracking bug, please re-assign if I'm wrong.
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 25 2017

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

commit 482dc2449c50bb20d5067a9ae856fd953c870262
Author: kapishnikov <kapishnikov@chromium.org>
Date: Fri Aug 25 00:32:06 2017

Refactor Cronet prefs managers into CronetPrefsManager class

This will allow reusing the Cronet prefs related code on iOS.

BUG= 740172 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Icda8bb30d37db8e57ed4653f0d848d1a1fd4b275
Reviewed-on: https://chromium-review.googlesource.com/629099
Reviewed-by: Miriam Gershenson <mgersh@chromium.org>
Reviewed-by: Helen Li <xunjieli@chromium.org>
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497259}
[modify] https://crrev.com/482dc2449c50bb20d5067a9ae856fd953c870262/components/cronet/android/BUILD.gn
[modify] https://crrev.com/482dc2449c50bb20d5067a9ae856fd953c870262/components/cronet/android/cronet_url_request_context_adapter.cc
[modify] https://crrev.com/482dc2449c50bb20d5067a9ae856fd953c870262/components/cronet/android/cronet_url_request_context_adapter.h
[add] https://crrev.com/482dc2449c50bb20d5067a9ae856fd953c870262/components/cronet/cronet_prefs_manager.cc
[add] https://crrev.com/482dc2449c50bb20d5067a9ae856fd953c870262/components/cronet/cronet_prefs_manager.h

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 25 2017

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

commit 88dd41ac1bf6e93c717509f5b745ce2deb1c48db
Author: Paul Miller <paulmiller@chromium.org>
Date: Fri Aug 25 01:38:19 2017

Revert "Refactor Cronet prefs managers into CronetPrefsManager class"

This reverts commit 482dc2449c50bb20d5067a9ae856fd953c870262.

Reason for revert: broke bots, "error: use of undeclared identifier
'thread_checker_'"

Original change's description:
> Refactor Cronet prefs managers into CronetPrefsManager class
> 
> This will allow reusing the Cronet prefs related code on iOS.
> 
> BUG= 740172 
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
> Change-Id: Icda8bb30d37db8e57ed4653f0d848d1a1fd4b275
> Reviewed-on: https://chromium-review.googlesource.com/629099
> Reviewed-by: Miriam Gershenson <mgersh@chromium.org>
> Reviewed-by: Helen Li <xunjieli@chromium.org>
> Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#497259}

TBR=mgersh@chromium.org,xunjieli@chromium.org,kapishnikov@chromium.org

Change-Id: Iba94e917f2d5374a4a6ba5043cc931dd39816234
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  740172 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Reviewed-on: https://chromium-review.googlesource.com/634529
Reviewed-by: Paul Miller <paulmiller@chromium.org>
Commit-Queue: Paul Miller <paulmiller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497280}
[modify] https://crrev.com/88dd41ac1bf6e93c717509f5b745ce2deb1c48db/components/cronet/android/BUILD.gn
[modify] https://crrev.com/88dd41ac1bf6e93c717509f5b745ce2deb1c48db/components/cronet/android/cronet_url_request_context_adapter.cc
[modify] https://crrev.com/88dd41ac1bf6e93c717509f5b745ce2deb1c48db/components/cronet/android/cronet_url_request_context_adapter.h
[delete] https://crrev.com/1bdf82f83c51a1f42672bc8e59494d238269fc6f/components/cronet/cronet_prefs_manager.cc
[delete] https://crrev.com/1bdf82f83c51a1f42672bc8e59494d238269fc6f/components/cronet/cronet_prefs_manager.h

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 25 2017

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

commit d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7
Author: kapishnikov <kapishnikov@chromium.org>
Date: Fri Aug 25 16:06:51 2017

Refactor Cronet prefs managers into CronetPrefsManager class - 2

This will allow reusing the Cronet prefs related code on iOS.

This CL is the resubmission of CL 629099 with the fix that
replaces DCHECK(thread_checker_.CalledOnValidThread()) with
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_).

BUG= 740172 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Ie20ee8c022e12f9b26f087461c264612c9a41e37
Reviewed-on: https://chromium-review.googlesource.com/635804
Reviewed-by: Helen Li <xunjieli@chromium.org>
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497425}
[modify] https://crrev.com/d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7/components/cronet/android/BUILD.gn
[modify] https://crrev.com/d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7/components/cronet/android/cronet_url_request_context_adapter.cc
[modify] https://crrev.com/d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7/components/cronet/android/cronet_url_request_context_adapter.h
[add] https://crrev.com/d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7/components/cronet/cronet_prefs_manager.cc
[add] https://crrev.com/d4d5c304b5d4a88c13ea37fd5b2b44ade109e0d7/components/cronet/cronet_prefs_manager.h

Project Member

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

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

commit 8de943630157e036f9d35f512606d876b713efe1
Author: kapishnikov <kapishnikov@chromium.org>
Date: Wed Aug 30 14:40:59 2017

Add support for storing QUIC server config in preferences on iOS

This is an experimental option that can be activated by passing
the following JSON to [Cronet setExperimentalOptions:...] method
{
  "QUIC" : {
    "max_server_configs_stored_in_properties" : 5
  }
}

where |max_server_configs_stored_in_properties| is the maximum
number of server config to store.

In addition
- Changed cronet_test_runner to use base::LauchUnitTests.
- Fixed [Cronet shutdownForTesting] to reset all global variables.

BUG= 740172 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: I70255c5eee6497b3c8951bcafda229a8729f410b
Reviewed-on: https://chromium-review.googlesource.com/635617
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498459}
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/BUILD.gn
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/Cronet.mm
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/cronet_environment.h
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/test/BUILD.gn
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/test/cronet_pkp_test.mm
[add] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/test/cronet_prefs_test.mm
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/test/cronet_test_base.h
[modify] https://crrev.com/8de943630157e036f9d35f512606d876b713efe1/components/cronet/ios/test/cronet_test_runner.mm

Status: Fixed (was: Started)

Sign in to add a comment