Revert "Account for position and limit when creating spans out of ByteBuffers"

This reverts commit 6f2bae751df2a100973e99a14b0737e77e9e2270.

Reason for revert: breaks tabs restoration https://chromium-review.googlesource.com/c/chromium/src/+/5776110/comment/45ebf524_57fc2617/

Original change's description:
> Account for position and limit when creating spans out of ByteBuffers
>
> ByteBuffer#{get, put} work on the current ByteBuffer#position(): writing a single byte will put it as "position" within the ByteBuffer, then increment position by one (read does the same but returns the byte instead of writing it). As such, the native layer should do the same: if we're reading from a ByteBuffer in native, we should read the same way Java would; from position, until limit.
>
> I'm not sure if this is an existing issue within Chrome (maybe all ByteBuffers there ends up always having position == 0 and limit == size), but extending MaybeJavaByteBufferToMutableSpan to take this into account would allow Cronet to make use of these utilities.
>
> Note: There is no JNI function to directly fetch the position and limit of a ByteBuffer (like one can do for data and size). As such, we need
> to tell jni_zero to generate bindings for ByteBuffer.
>
> Bug: 41488662, b:358568022
> Change-Id: I38eb668af549ce73de4157816510cb287eae5945
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5776110
> Owners-Override: Andrew Grieve <agrieve@chromium.org>
> Commit-Queue: Stefano Duo <stefanoduo@google.com>
> Reviewed-by: Etienne Dechamps <edechamps@google.com>
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1355831}

Bug: 41488662, b:358568022
Change-Id: Ib440e2a31c9a0819e42feca78f9463c611a26d6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5882433
Auto-Submit: Stefano Duo <stefanoduo@google.com>
Owners-Override: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Richard (Torne) Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1359051}
15 files changed
tree: 88d805ed9099bfdec3721813e626e81936d016cc
  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. google_update/
  24. gpu/
  25. headless/
  26. infra/
  27. ios/
  28. ipc/
  29. media/
  30. mojo/
  31. native_client_sdk/
  32. net/
  33. pdf/
  34. ppapi/
  35. printing/
  36. remoting/
  37. rlz/
  38. sandbox/
  39. services/
  40. skia/
  41. sql/
  42. storage/
  43. styleguide/
  44. testing/
  45. third_party/
  46. tools/
  47. ui/
  48. url/
  49. webkit/
  50. .clang-format
  51. .clang-tidy
  52. .clangd
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitallowed
  56. .gitattributes
  57. .gitignore
  58. .gitmodules
  59. .gn
  60. .mailmap
  61. .rustfmt.toml
  62. .vpython3
  63. .yapfignore
  64. ATL_OWNERS
  65. AUTHORS
  66. BUILD.gn
  67. CODE_OF_CONDUCT.md
  68. codereview.settings
  69. CPPLINT.cfg
  70. CRYPTO_OWNERS
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. 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.