This is a simple fix to move from the `no_destroy` annotation in the
implementation of `BraveSyncProfileServiceIOS`, that can be just a
`constexpr` array.
Bug: https://github.com/brave/brave-browser/issues/47331
This change adds `[[clang::no_destroy]]` to all places where
`-Wexit-time-destructors` has caused an error. This is a mechanical
change, and the individual cases must be fixed separately.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/62849b7b1a562b823e34e64ec54b9724dc88cbfd
commit 62849b7b1a562b823e34e64ec54b9724dc88cbfd
Author: Claudio DeSouza <cdesouza@chromium.org>
Date: Mon Aug 25 07:58:19 2025 -0700
Reland "[exit-time-destructors] Enable by default"
This reverts commit cfbf29170f0b3e73e580d291085c188f8aa8cfa0.
The cause for the revert was breakage elsewhere that needed exclusions,
which are being handdled in https://crrev.com/c/6863758
Bug: 40031409, 430332953
Original change's description:
> Revert "[exit-time-destructors] Enable by default"
>
> This reverts commit 180c32cb5158bb4039235288b38813697b757e1a.
>
> Reason for revert: Broke the build on some bots:
> https://ci.chromium.org/ui/p/chromium/builders/ci/chromeos-arm-generic-rel/148963/overview
>
> Bug: 40031409, 430332953
> Original change's description:
> > [exit-time-destructors] Enable by default
> >
> > This CL enables `-Wexit-time-destructors` as a default warning in
> > Chromium. As the value of `is_wexit_time_destructors_default` is being
> > flipped, it is expected that the old config, `wexit_time_destructors`,
> > which was a opt-in, will become no-op, while the newly introduced
> > opt-out config will have its effect in places with pending issues.
> >
> > There are exclusions being added to `warning_suppression.txt` for
> > certain paths under `//third_party/`. These entries attempt to be the
> > narrowest possible. Work is under way to eliminate completely the need
> > for these, but this is in general slow (although fixes have been merged
> > into dawn, v8, and pdfium).
> >
> > Bug: 40031409, 430332953
> > Change-Id: I0c01c1e4ef8dfdcc319538cbda7991f364a6f22c
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6826535
> > Reviewed-by: Devon Loehr <dloehr@google.com>
> > Commit-Queue: Claudio DeSouza <cdesouza@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1502919}
>
> Bug: 40031409, 430332953
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: Icefe8b2206147767f0c074362e995af2030a1fd6
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6860282
> Auto-Submit: Thomas Guilbert <tguilbert@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Devon Loehr <dloehr@google.com>
> Cr-Commit-Position: refs/heads/main@{#1502936}
Bug: 40031409, 430332953
Change-Id: Ib556482a0b31814107eafe3620af13e0d272cd76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6859042
Reviewed-by: William Liu <liuwilliam@chromium.org>
Reviewed-by: Devon Loehr <dloehr@google.com>
Commit-Queue: Claudio DeSouza <cdesouza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1505863}
As upstream enabled the raw pointer check compilation option for ios,
some member variables need to use `raw_ptr<>` or `raw_ref`, instead of
raw pointers.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/e0f1aeb77e82a9a661b14cbc9dda5f83d55eb64b
commit e0f1aeb77e82a9a661b14cbc9dda5f83d55eb64b
Author: Justin Cohen <justincohen@google.com>
Date: Wed Sep 25 18:17:47 2024 +0000
ios: Enable enable_check_raw_ptr_fields and enable_check_raw_ref_fields.
Change-Id: Id5e3ee7df9acdf3091ab54ee9140b6d40998e043
This type, header, and derived types are now gone, with the new
`DataType` being used. This change corrects variable naming, header
inclusions, etc.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/41d2a6c29f4b0a3ed5321841ddf8b3d715f02d58
commit 41d2a6c29f4b0a3ed5321841ddf8b3d715f02d58
Author: Mikel Astiz <mastiz@chromium.org>
Date: Wed Aug 7 11:47:19 2024 +0000
[sync] Migrate remaining components/sync from ModelType to DataType
Pure refactoring without behavioral changes.
All occurrences of syncer::ModelType are about to be replaced with
syncer::DataType, following the rationale in the linked bug. This patch
tackles occurrences under components/sync and some dependencies.
Most of the changes were auto-generated via commands below, which also
required manually excluding some undesired changes:
git grep -l model_type -- components/sync | \
grep -v model_type\\.h | grep -v data_type\\.h | \
grep -v BUILD.gn | \
xargs sed -i 's/model_type/data_type/g'
git grep -l ModelType -- components/sync | \
grep -v model_type\\.h | grep -v data_type\\.h | \
xargs sed -i -E 's/([^.]|^)ModelType/\1DataType/g'
git grep -l UserSelectableTypeToAllModelTypes | \
xargs sed -i '/UserSelectableTypeToAllModelTypes/UserSelectableTypeToAllDataTypes
/g'
git diff --name-only HEAD | \
xargs sed -i "s/DataTypeEntityChange/ModelTypeEntityChange/g"
git diff --name-only HEAD | \
xargs sed -i "s/InvalidationPerDataType/InvalidationPerModelType/g"
git diff --name-only HEAD | \
xargs sed -i "s/Model type/Data type/g"
git diff --name-only HEAD | \
xargs sed -i "s/model type/data type/g"
git cl format
NO_IFTTT=Matches enums.xml without additional changes
Change-Id: I1edd7f45f6ff22e0dfd2a959431d38ca4593e7d4
Bug: 356649891
https://chromium.googlesource.com/chromium/src/+/1cce04152760c71cde8c8fe90bbb1241128a7b13
commit 1cce04152760c71cde8c8fe90bbb1241128a7b13
Author: Mikel Astiz <mastiz@chromium.org>
Date: Wed Aug 7 17:10:53 2024 +0000
[sync] Clean up leftovers after ModelType rename to DataType
A recent patch series renamed syncer::ModelType to syncer::DataType,
with a temporary alias being introduced for a gradual migration. Now
that all references have been migrated to the new name, the temporary
alias can be removed from code.
The patch also includes some minor leftover renames.
Change-Id: Ibed5292fd96fdcbe9592b4bd268faa428da50627
Bug: 356649891
Upstream has enabled ARC by default for apple code. This change removes
the individual setting of it across targets.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/8485b150e05e24548ec98413ced34994ab9ef622
commit 8485b150e05e24548ec98413ced34994ab9ef622
Author: Avi Drissman <avi@chromium.org>
Date: Mon Jul 31 18:07:39 2023 +0000
Rename "enable_arc2" to "enable_arc"
Remove uses of "enable_arc" that snuck in, and rename "enable_arc2" to
"enable_arc".
Bug: 733237
Upstream has moved this configuration to be an OS syncable type. This
change removes the use, and mapping of this syncable selectable type
from the codebase.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/7aa7d1f494051307bf838b396d554c5829cf75a7
commit 7aa7d1f494051307bf838b396d554c5829cf75a7
Author: Marc Treib <treib@chromium.org>
Date: Mon Jun 19 13:12:48 2023 +0000
Sync cleanup: Remove UserSelectableType::kWifiConfigurations
The "Wifi configurations" data type still exists, but after the "Split
Settings Sync" project (crbug.com/1013466), it's controlled via
UserSelectableOsType::kOsWifiConfigurations. The browser version of the
UserSelectableType was unused.
Bug: 1059309
Chromium change:
https://chromium.googlesource.com/chromium/src/+/91c345cf4eac0adbb428db6449384028dfac7bd3
commit 91c345cf4eac0adbb428db6449384028dfac7bd3
Author: Mikel Astiz <mastiz@chromium.org>
Date: Tue May 16 14:18:56 2023 +0000
[sync] Rename components/sync/driver to components/sync/service
It was agreed within the Sync team that the name 'driver' conveys
little and is a historic artifact. The new name, 'service', reflects
what most dependent targets care about: SyncService and adjacent APIs.
Semi-automated patch generated via:
git mv components/sync/driver components/sync/service
./tools/git/mass-rename.py
cat /tmp/affected-files.txt | \
xargs sed -i 's/#include/#import/g'
git grep -l 'sync/driver' |\
xargs sed -i 's/components\/sync\/driver/components\/sync\/service/g'
git grep -l 'sync_driver_sync_internals' |\
xargs sed -i 's/sync_driver_sync_internals/sync_service_sync_internals/g'
git grep -l 'components/sync/service:driver' |\
xargs sed -i 's/sync\/service:driver/sync\/service/g'
git grep -l 'kSyncDriverSyncInternalsResources' |\
xargs sed -i\
's/kSyncDriverSyncInternalsResources/kSyncServiceSyncInternalsResources/g'
git grep -l 'IDR_SYNC_DRIVER_SYNC' | \
xargs sed -i 's/IDR_SYNC_DRIVER_SYNC/IDR_SYNC_SERVICE_SYNC/g'
sed -i 's/driver/service/g' components/sync/service/BUILD.gn\
components/sync/service/sync_api_component_factory.h
sed -i 's/_H__/_H_/g' components/sync/service/*.h
git cl format
Manual changes include:
1. Build target rename in components/sync/driver/BUILD.gn.
2. Header guard issues surfaced by presubmit.
3. Several header files reintroduced to avoid breaking downstream.
Disable-Rts: True
Change-Id: If23629e79e781e55c3d783e3074fb536311928d6
Bug: 1444709