Reapply "Roll protobuf to 29.3"

This reverts commit 7f3d30b9cf97c8a5bc1db73bf6d94e24b8bc9cfd
with fixes for:
* Chromecast
* CFI
* siso
* a couple other issues fixed separately from this CL

===========================
Original issue description:
===========================

Roll protobuf to 29.3

* Roll protobuf and write new build targets by hand since the existing
  script no longer works (gen_chromium_file_lists.py)

  + Tweaks to upstream listed in README.chromium

* Roll protobuf-javascript to newest version since the existing
  version is incompatible with newer protobuf (and the newest version
  of protobuf-javascript is incompatible with older protobuf, so this
  can't be done separately)

* Roll libprotobuf-mutator to newest version, reasoning: ditto

* Update some Chromium code (other, preparatory updates were possible
  prior to the role as they were compatible with either version of
  protobuf)

* GRPC is *not* rolled but has some minor hacks added to avoid
  referencing non-existent files and symbols. These hacks wouldn't
  stand up to linking, but the relevant code is not actually used.
  GRPC is not rolled because there are seemingly substantial changes
  needed to both its build and its code, some of which are not
  related to protobuf, but the fact that GRPC is months to years out
  of date (depending on what commit we attempt to roll it to). For
  example: use of GCC extensions.

* Protobuf uses absl for logging now and therefore its `LogSilencer`
  is removed. Lots of fuzzers are using `LogSilencer`, but it's not
  clear how crucial that is. `LogSilencer` usage is simply removed
  for now.

NO_IFTTT=upstream code

Cq-Include-Trybots: luci.chromium.try:linux-cast-x64-rel
No-Presubmit: true
Bug: 328417294
Change-Id: Ie27ad5e64ebe6edadebcf40fa869dd7b83cb97fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6228766
Owners-Override: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1416848}
NOKEYCHECK=True
GitOrigin-RevId: b9b854bf906c3093a056b75631a19cacd8240708
1 file changed
tree: 44b8213b5924955dc9b512edd74fdaa1e6868bdc
  1. build/
  2. chrome/
  3. components/
  4. google_internal/
  5. intents/
  6. net/
  7. public/
  8. testing/
  9. third_party/
  10. tools/
  11. web/
  12. web_view/
  13. .swift-format
  14. BUILD.gn
  15. COMMON_METADATA
  16. DEPS
  17. DIR_METADATA
  18. features.gni
  19. OWNERS
  20. PRESUBMIT.py
  21. PRESUBMIT_test.py
  22. README.md
README.md

This directory holds code related to Chrome for iOS. See this document for a description of the structure underneath this directory.