Reland #2 "JNI Zero: Expose empty String, List, Map as constants"

This reverts commit a9e07e04cb0112c14c8380e8887dabb2192e18e9.

Reason for reland: Cronet is fixed.

Original change's description:
> Revert "Reland "JNI Zero: Expose empty String, List, Map as constants""
>
> This reverts commit b1dbbe886029587cf097800357e5f82c4f4609f2.
>
> Reason for revert: blocking webrtc roll. Can reland after fixing cronet
>     jni_zero renaming see https://crbug.com/353534209
>
> Original change's description:
> > Reland "JNI Zero: Expose empty String, List, Map as constants"
> >
> > This reverts commit 8f836238c12fbf5bf0c9858f2c0a209e6874012e.
> >
> > Reason for reland: Renaming a target to fix incremental builds
> >
> > Original change's description:
> > > Revert "JNI Zero: Expose empty String, List, Map as constants"
> > >
> > > This reverts commit e4259e1fc57fdbb88111021a57dede285f4a15e5.
> > >
> > > Reason for revert: Broke local build
> > >
> > > Original change's description:
> > > > JNI Zero: Expose empty String, List, Map as constants
> > > >
> > > > AFAICT, ART allocates a new empty string object each time you call
> > > > env->NewString*() methods. Same with List and Map.
> > > >
> > > > To avoid allocations for empty things, use these singletons in
> > > > conversion functions.
> > > >
> > > > This adds a new JavaRef type: LeakedJavaGlobalRef, which is the same as
> > > > ScopedJavaGlobalRef, except without a destructor.
> > > >
> > > > Bug: None
> > > > Change-Id: Id87e7e7a8c7a8219e237d15a37ade582768383d0
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5645747
> > > > Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
> > > > Commit-Queue: Andrew Grieve <agrieve@chromium.org>
> > > > Owners-Override: Andrew Grieve <agrieve@chromium.org>
> > > > Reviewed-by: Sam Maier <smaier@chromium.org>
> > > > Cr-Commit-Position: refs/heads/main@{#1319347}
> > >
> > > Bug: None
> > > Change-Id: I101ea04150b33e2c8b9ac857466aa886365aea05
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5656590
> > > Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
> > > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > > Owners-Override: Wenyu Fu <wenyufu@chromium.org>
> > > Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
> > > Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
> > > Cr-Commit-Position: refs/heads/main@{#1319417}
> >
> > Bug: None
> > Change-Id: Ica1c0a14d6eb1027ae8bd674409c0d9f34c768fc
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5662098
> > Owners-Override: Andrew Grieve <agrieve@chromium.org>
> > Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
> > Auto-Submit: Andrew Grieve <agrieve@chromium.org>
> > Commit-Queue: Andrew Grieve <agrieve@chromium.org>
> > Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1320367}
>
> Bug: 351773023, 353534209
> Change-Id: I71507dd091b3d332c43e094b1ea358669bfe7ae4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5769676
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
> Commit-Queue: Andrew Grieve <agrieve@chromium.org>
> Owners-Override: Andrew Grieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1338722}

Bug: 351773023, 353534209
Change-Id: I1893d044a5ced80dec2c7b96b56c23449bb2dd1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6062739
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Owners-Override: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1408790}
7 files changed
tree: 0d5664936b69a41824a286360f065f294f3a0a6a
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. gpu/
  24. headless/
  25. infra/
  26. ios/
  27. ipc/
  28. media/
  29. mojo/
  30. native_client_sdk/
  31. net/
  32. pdf/
  33. ppapi/
  34. printing/
  35. remoting/
  36. rlz/
  37. sandbox/
  38. services/
  39. skia/
  40. sql/
  41. storage/
  42. styleguide/
  43. testing/
  44. third_party/
  45. tools/
  46. ui/
  47. url/
  48. webkit/
  49. .clang-format
  50. .clang-tidy
  51. .clangd
  52. .git-blame-ignore-revs
  53. .gitallowed
  54. .gitattributes
  55. .gitignore
  56. .gitmodules
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. ATL_OWNERS
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. CPPLINT.cfg
  68. CRYPTO_OWNERS
  69. DEPS
  70. DIR_METADATA
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.