Revert "Convert GN arg clang_unsafe_buffers_paths to a list."

This reverts commit 66618d28e1599ff9e8c7f1339c32525684afec46.

Reason for revert: broke cronet

Original change's description:
> Convert GN arg clang_unsafe_buffers_paths to a list.
>
> Then, prior to compilation, process all listed files into a
> single generated file to be used by the plugin. In this manner,
> rolling a dependent product will automatically update the
> suppressed paths without the need to keep a top-level file
> consistent. This also prevents the plugin from needing to open
> several unsafe_buffers_paths files for each compilation unit.
>
> Complications are that the paths in the dependent product
> unsafe_buffers_paths file will need to be re-written relative
> to the location in the top-level product's tree. In addition.
> there needs to be a new entry for the implicit '+' rule at
> each dependent product's top-level directory.
>
> This is taken care of by a new python script. Pre-process comments
> and blank lines here as well, so that we may later save a few
> cycles on each compilation unit by not doing this in the plugin
> (in a future CL once this sticks). The usual GN path rebasing needs
> to take place in order to find the files. Most of the work involves
> this issue.
>
> Convert chromium to import PDFium's suppression in this manner.
>
> There will need to be a similar change when this rolls into
> PDFium to avoid breakage, converting its //.gn file to specify
> a list (of one) for the unsafe_buffers_paths argument.
>
> Bug: 389830173
> Change-Id: I24be31bfd3f6a75f74b197870cd5f0431fa8199f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6167583
> Reviewed-by: Hans Wennborg <hans@chromium.org>
> Commit-Queue: Tom Sepez <tsepez@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1406292}

Bug: 389830173
Change-Id: I835e32d62a47ea6e20dd2b20a12d3adc419fa436
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6175885
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1406404}
7 files changed
tree: a616195c3273908c8d309bf10f386b3dbf195a6f
  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.