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

Issue 654177 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Feature

Blocked on:
issue 657633



Sign in to add a comment

[Cronet] Fully implement Cronet on iOS platform.

Reported by forfinal...@gmail.com, Oct 8 2016

Issue description

Example URL:

Steps to reproduce the problem:
Currently cronet only has a simple interface "cronet_c_for_grpc.h" on iOS platform, which could not be used to retrieve normal HTTP 1.x resources. So is there any plan to complete this implementation and make the URLRequest interface fully work on iOS, just as cronet on Android? Thanks~

What is the expected behavior?

What went wrong?
Nothing

Did this work before? N/A 

Chrome version: 53.0.2785.116  Channel: dev
OS Version: 10.0.1
Flash Version:
 

Comment 1 by mef@chromium.org, Oct 10 2016

Components: -Internals>Network Internals>Network>Library
Labels: -Type-Bug -Pri-2 Pri-3 Type-Feature
Status: Untriaged (was: Unconfirmed)
Yes, as a first step we are planning to support NSURLSession API for regular HTTP requests and will consider adding additional API if necessary.
We are currently actively working on support for NSURLSession API. This will provide the easiest transition path for the apps that are already using NSURLSession. Are you more interested in something similar to the Android URLRequest interface or NSURLSession will also satisfy the requirements?

Out of curiosity, are you working on some particular project? Are you using Cronet on Android? We would like to follow up and maybe help with the integration. 

Comment 3 by pkl@chromium.org, Oct 17 2016

Cc: cbentzel@chromium.org
Owner: mef@chromium.org
Status: Assigned (was: Untriaged)

Comment 4 by denyd...@gmail.com, Oct 19 2016

-- We are currently actively working on support for NSURLSession API.
Good to here it. And what's the possible time will this code release?

-- Are you working on some particular project? Are you using Cronet on Android? 
Yes, and yes.

We have already extract "component/cronet" and integrated it into our released Android App. It's awesome. We are planning to have try in out iOS version, but might come to a problem that we should manage this two different adaptors, if NSSURLSession API released. So currently we are working out simple URLRequest API which is similar to Android.

By the way, are u guys would reuse the code in src/ios/net/** to build the API?



Comment 5 by mef@chromium.org, Oct 19 2016

Summary: [Cronet] Fully implement Cronet on iOS platform. (was: [Cronet] Is there any plan to fully implement cronet on iOS platform? )
First of all, we are glad that Cronet works well for you on Android! 

We plan to add the NSURLSession support in Q4. There is CL https://codereview.chromium.org/2146643002/ to integrate this functionality from CrNet (older framework, which will be unsupported in favor of Cronet). 

It is indeed using the code from src/ios/net/** to provide NSURLSession support.

We are considering providing URLRequest API similar to Android later.

It would be interesting to discuss your current experience and future plans for Cronet, possibly off this bug tracker.

Comment 6 by mef@chromium.org, Oct 19 2016

Blockedon: 657633
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 20 2016

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

commit 254963db8e5f58c0d1279cf29bb1f7d48043cad2
Author: mef <mef@chromium.org>
Date: Thu Oct 20 21:48:07 2016

[Cronet] Integrate CrNet functionality into Cronet on iOS.

- Add NSURLSession handling to match CrNet.
- Add GetGlobalMetricsDeltas to match Android API.
- Add tests for new functionality.

BUG= 654177 

Review-Url: https://chromiumcodereview.appspot.com/2146643002
Cr-Commit-Position: refs/heads/master@{#426609}

[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/BUILD.gn
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Cronet.h
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Cronet.mm
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/DEPS
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/am.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ar.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/bg.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/bn.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ca.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/cs.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/da.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/de.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/el.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/en-GB.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/en.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/es-419.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/es.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/et.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/fa.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/fi.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/fil.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/fr.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/gu.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/he.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/hi.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/hr.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/hu.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/id.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/it.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ja.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/kn.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ko.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/lt.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/lv.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ml.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/mr.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ms.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/nb.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/nl.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/pl.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/pt-BR.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/pt-PT.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/pt.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ro.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ru.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/sk.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/sl.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/sr.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/sv.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/sw.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/ta.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/te.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/th.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/tr.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/uk.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/vi.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/zh-Hans.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/zh-Hant.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/Localization/zh.lproj/Localizable.strings
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/Resources/README
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/cronet_environment.cc
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/cronet_environment.h
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/BUILD.gn
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/cronet_http_test.mm
[modify] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/quic_test_server.cc
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/test_server.cc
[add] https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2/components/cronet/ios/test/test_server.h

Comment 8 by mef@chromium.org, Mar 26 2018

Status: Fixed (was: Assigned)

Sign in to add a comment