spanification: Add `#pragma allow_unsafe_buffers` to component/*

See `//docs/unsafe_buffers.md`

This is a preparation to fix each files.
This CL has no behavior changes.

This patch was fully automated using script:
https://paste.googleplex.com/5614491201175552

See internal doc about it:
https://docs.google.com/document/d/1erdcokeh6rfBqs_h0drHqSLtbDbB61j7j3O2Pz8NH78/edit?resourcekey=0-hNe6w1hYAYyVXGEpWI7HVA&tab=t.0

AX-Relnotes: n/a.
Bug: 40285824
Change-Id: I24ff0aee7a6cbe6da11a08830135449ccf8f2ae2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5717711
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1335315}
NOKEYCHECK=True
GitOrigin-RevId: b948e67a9c2fa2f8adff2206ef00cccde3f8640a
13 files changed
tree: 0323c288923be0691dffef432e69456e82cf1e7c
  1. client/
  2. compression/
  3. encryption/
  4. health/
  5. metrics/
  6. proto/
  7. resources/
  8. storage/
  9. util/
  10. DIR_METADATA
  11. OWNERS
  12. PRESUBMIT.py
  13. README.md
README.md

The Encrypted Reporting Pipeline (ERP) provides a universal method for upload of data for enterprise customers.

The code structure looks like this:

Chrome:

  • //components/reporting
    Code shared between Chrome and ChromeOS.
  • //chrome/browser/policy/messaging_layer
    Code that lives only in the browser, primary interfaces for reporting data such as ReportQueueImpl and ReportQueueConfiguration.

ChromeOS:

  • //platform2/missived
    Daemon for encryption and storage of reports.

If you'd like to begin using ERP within Chrome please check the comment in //components/reporting/client/report_queue_provider.h.

Run Unit Tests

To run the unit tests for this directory, after having configured Chromium's build environment:

  1. Run autoninja -C out/Default components_unittests to build the components unit test executable.

  2. Then, run out/Default/components_unittests --gtest_filter='<target tests>' to run relevant tests. Here, <target tests> is a wildcard pattern (refer to the document of gtest for more details). For example, to run all tests for StorageQueue, run

    $ out/Default/components_unittests --gtest_filter='*/StorageQueueTest.*'
    

    For another example, to run all tests in this directory, run

    $ tools/autotest.py -C out/Default --run_all components/reporting
    

    You can also append a filter such as --gtest_filter='*/StorageQueueTest.*' to the line above.

    Another useful flag for dealing with flaky tests is --gtest_repeat=, which repeats tests for multiple times.

    For more gtest features, check out the gtest document.