Import 18th Mar 2025 ToT Cronet from Chromium to AOSP

Generated by Copybara via Chromium's ci/android-cronet-arm64-gn2bp-dbg:
https://ci.chromium.org/ui/p/chromium/builders/ci/android-cronet-arm64-gn2bp-dbg/7609/overview.
Then updated to include a cherry-pick of
https://chromium-review.googlesource.com/c/chromium/src/+/6383356.

These can also be seen from the branch representing this import:
https://chromium.googlesource.com/experimental/chromium/src/+/refs/wip/cronet/aosp-tot_import_mar_18_25.
With commit SHA: 3e3cc0341bdf13d1c6593a9f206eaf7f13c463e1.

This commit can be reproduced by running:
$ gclient config --spec 'solutions = [
  {
    "name": "src",
    "url":
"https://chromium.googlesource.com/experimental/chromium/src.git",
    "managed": False,
    "custom_deps": {},
    "custom_vars": {
      "checkout_copybara": True,
    },
  },
]
target_os = ["android"]
' &&
gclient sync --rev=refs/wip/cronet/aosp-tot_import_mar_18_25 --shallow &&
cd src &&
vpython3 components/cronet/gn2bp/run_gn2bp.py

Additionally, manual tweaks have been applied after patchset 1. These
are required to:
1. Fix naming in non-versioned/templated top-level Android.bp
2. Resolve merge conflicts
3. Update consistency files with changes (1) and (2)

Bug: b:403544010
FolderOrigin-RevId: /b/s/w/ir/cache/builder/src
Change-Id: I15308a1c82a99a6d850bfb0ed37dbbf91439b9ea
22820 files changed
tree: a0200ec153ff38b1f47387bad84cc2a0e8ca792f
  1. android/
  2. stable/
  3. test_runner/
  4. tot/
  5. Android.bp
  6. exclude_coverage.list
  7. OWNERS
  8. PREUPLOAD.cfg
  9. README.md
  10. TEST_MAPPING
README.md

Cronet (HttpEngine)

Cronet is Chrome's networking stack packaged into a client networking library for Android. It significantly improves performance thanks to highly optimized code and support of modern protocols like QUIC and HTTP/3.

Cronet is imported through copybara from Chromium. Please do not submit any changes to this repoistory or touch the Android.bp as they are auto-generated. Contact cronet-team@ for more information

Repository Layout

See go/cronet-structure-in-aosp for more additional details

AOSP-only

android/ only exists in AOSP and is not imported from Chromium. This contains tools and code that is usually developed in AOSP and is not related to Chromium (eg: HttpEngine API).

Third-party code

This include the top-level third_party/. It's important to note that there are some third-party code that lives under first-party code (eg: QUICHE which lives under net/third_party). Those should be moved to the top-level third_party directory at some point but we will only do so once chromium has done that.

Rust Third-party code

We follow the same structure which Rust follows in AOSP where the crates live under third_party/rust/chromium_crates_io/vendor but the BUILD.gn which defines the build target lives under third_party/rust/{library_name} (eg: aho-corasick). For more information, see the README.md in Chromium for Rust crates.