Reland "spanification: automatically spanify various pointers"

This is a reland of commit 81dabe859583f387c9fc4b9df9e8ce37afbd263e

See patchset diff between 1 & 2 and crbug.com/435946524#comment9

In essence incorrectly labeled a variable as redundant when it was
actually the block size. coded_size perhaps it redundant, but with the
align up logic and the complex logic I'm hesitant to remove it.

While I'm fixing it up I've removed the PostIncrementSpan to just be
iterator based as that seems cleaner.

Original change's description:
> spanification: automatically spanify various pointers
>
> This is the result of running the automatic spanification on linux and
> updating code to use and pass spans where size is known.
> This CL has no behavior changes.
>
> All changes should be correct and no behaviour changes in patchset 1, however the plan is to follow up and remove the redundant size parameters. To this effect in patchset 2
> we've added CHECKS and renames to note the fact the size is believed to be redundant. This was done through AI and should be carefully checked, but the CHECKS are not fatal and thus if unsure should be fine to land and remove after reports of the crashes.
>
> The original patch was fully automated using script:
> //tools/clang/spanify/rewrite-multiple-platforms.sh -platforms=linux
>
> and then split with
> `git cl split --target-range 8 32 --max-depth=2 --no-reviewers -d ~/description.txt`
>
> This covers directories:
> media/gpu/vaapi
>
> This is part of auto spanification see internal doc about it:
> https://docs.google.com/document/u/1/d/1poEhNARfFas2osqPoXGzVZtBgnOQGQtQNUFTA-MlADs/edit?tab=t.0
>
> This CL was uploaded by an experimental version of git cl split
> (https://crbug.com/389069356).
>
> Bug: 431824299
> Change-Id: I56711e3deabe6ffca682c4ac78bfbc39c071aa11
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6734598
> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
> Auto-Submit: Stephen Nusko <nuskos@chromium.org>
> Commit-Queue: Stephen Nusko <nuskos@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1493258}

Bug: 431824299,435946524
Change-Id: I6fc2e140d5f0c58c9d7dbb06ae953f02485b3d5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6820678
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Stephen Nusko <nuskos@chromium.org>
Commit-Queue: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1498572}
10 files changed
tree: f924e89d7059ed0235de42bad0225715ca73a2cd
  1. .gemini/
  2. .github/
  3. agents/
  4. android_webview/
  5. apps/
  6. ash/
  7. base/
  8. build/
  9. build_overrides/
  10. buildtools/
  11. cc/
  12. chrome/
  13. chromecast/
  14. chromeos/
  15. codelabs/
  16. components/
  17. content/
  18. crypto/
  19. dbus/
  20. device/
  21. docs/
  22. extensions/
  23. fuchsia_web/
  24. gin/
  25. google_apis/
  26. gpu/
  27. headless/
  28. infra/
  29. ios/
  30. ipc/
  31. media/
  32. mojo/
  33. net/
  34. pdf/
  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. .cursorignore
  54. .geminiignore
  55. .git-blame-ignore-revs
  56. .gitallowed
  57. .gitattributes
  58. .gitignore
  59. .gitmodules
  60. .gn
  61. .mailmap
  62. .rustfmt.toml
  63. .vpython3
  64. .yapfignore
  65. ATL_OWNERS
  66. AUTHORS
  67. BUILD.gn
  68. CODE_OF_CONDUCT.md
  69. codereview.settings
  70. CPPLINT.cfg
  71. CRYPTO_OWNERS
  72. DEPS
  73. DIR_METADATA
  74. LICENSE
  75. LICENSE.chromium_os
  76. OWNERS
  77. PRESUBMIT.py
  78. PRESUBMIT_test.py
  79. PRESUBMIT_test_mocks.py
  80. README.md
  81. SECURITY_OWNERS
  82. 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.