Commit Graph
245 Commits
Author SHA1 Message Date
Max Karolinskiy c208866c0e Fixes aggressive Google -> Brave replacement in a string. (#34113)
On extensions page when dev mode is enabled, the documentation link now
says "Google Extension developer documentation" instead of Brave as the
link points to Google's help article.
2026-02-25 20:04:57 -05:00
Brian Clifton 24749dff7d Removing script which is no longer used (#34048)
Removing download method and the only script which had called it

This bisect script was not actively being used.
It was written and used on macOS for brave-core.Last I
had tested was ~Feb 2020. It might still work.
But no active users. It's always there in git history
in case we wanted to reconsider the idea.
2026-02-18 16:11:28 -07:00
Max Karolinskiy 20733369fd Update l10n for 1.87.x (Chromium 145). (#33691) (lowered to master). (#33819)
* Update l10n for 1.87.x (Chromium 145). (#33691)

* Fixes l10n srcipt warning.

script\lib\l10n\grd_utils.py:443: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './/message'
  elements = lxml.etree.parse(grd_file_path).findall('//message')

* Updated l10n for 1.87.x release.

* Rebased l10n.
2026-02-10 11:24:16 -05:00
Max Karolinskiy 40ddc98f5c Fixes l10n scripts. (#32846)
- Fixes validation of ICU plural strings. The previous pattern didn't
  allow for 'precise' (e.g =1) and 'ends on' (one) clauses to be present
  at the same time.

- Fixes bug in adding installer strings when combining override xtb with
  the original xtb.
2025-12-17 08:55:16 -08:00
Michael Herrmann 950b46599b Fix GetLocalizedStringTest.DistinctStrings in official builds (#32751) 2025-12-10 02:24:20 +09:00
Michael HerrmannandMax Karolinskiy 49faa97bb6 Fix Windows delta updates (#31937)
Chromium 142 broke delta updates on Windows. This commit fixes them by
reverting upstream commits 13ca199c and a4d120da with a few patches,
vendored code and chromium_src overrides. The changes should affect the
browser Windows installer only, and not the Omaha update client.

Co-authored-by: Max Karolinskiy <max@brave.com>
2025-12-04 19:16:50 +01:00
Max Karolinskiy d48c531fb2 Update l10n for 1.85.x (Chromium 143). (#32503) (lowered to master). (#32620)
Update l10n for 1.85.x (Chromium 143). (#32503)

* Fixes replacement map.

Some languages use non-breaking whitespace intead of regular space in
XTB files, so our map wasn't matching. Replaced spaces to \s in the map
patterns.

* Fixes error printing.

* Adjust ICU strings validation pattern.

* Fixes <br> -> <br/> tags.

* Updated l10n for 1.85.x release.
2025-12-01 23:06:16 -05:00
Brian R. Bondy c879c7877a Remove some unused Python script tooling code (#32220) 2025-11-07 15:47:12 -05:00
Max Karolinskiy 92cdbab7de Updated l10n for 1.81.x release (lowered to master) (#30455)
* Updated l10n for 1.81.x release. (#30428)

* Adds an exception to strings name pattern.

* Updated l10n for 1.81.x release.

* Pulls fixed l10n strings to fix build error (1.81.x). (#30449)

Pulls fixed l10n strings to fix build error.
2025-08-05 14:50:42 -04:00
Michael Herrmann a0183aad2a Change BraveUpdater.app path in local checkout (#29986) 2025-07-17 13:11:42 +02:00
Max Karolinskiy bd9759a546 [l10n] Allow for pulling a single language. (#29751) 2025-06-27 08:35:20 -07:00
Kamil Jozwiak c8a4e2633f Merge pull request #29726 from brave/maxk-1.80.x-release-l10n
Updated l10n for 1.80.x release.
2025-06-24 17:06:02 -04:00
Max Karolinskiy c67717786a Removes Transifex l10n scripts. (#28341)
We have switched to using Crowdin.
2025-03-31 10:25:45 -07:00
Max Karolinskiy bb1fac8993 Adds Python requirements file for l10n scripts. (#27531) 2025-02-07 13:35:09 -08:00
Max Karolinskiy 5043f29049 L10n scripts fixes. 2025-01-17 17:00:08 -05:00
Max Karolinskiy 5e2b579cae Updated l10n for 1.74.x release (lowered from 1.74.x) (#27217)
Updated l10n for 1.74.x release. (#27207)

* Adds timeout parameter in Crowdin API wrapper.

* Updated l10n for 1.74.x release.
2025-01-14 12:12:35 -05:00
mkarolin 3e089dee3f Added timeouts to requests.get calls. 2024-12-13 12:53:26 -05:00
mkarolin af02873785 Code Review fixes. 2024-12-13 12:46:22 -05:00
mkarolin 380f064009 Adding Crowdin integration to l10n scripts. 2024-12-12 17:36:09 -05:00
mkarolin e94a53b4ea Removes person/people -> profile string replacements. 2024-12-05 10:21:16 -05:00
Max Karolinskiy 09389bfef9 Merge pull request #26540 from brave/maxk-fix-person-people-replacements
Fixes aggressive replacements of person/people with profile(s).
2024-11-19 14:09:26 -05:00
mkarolin 6ffc6cffd4 Fixes cert manager branding. 2024-11-18 09:20:35 -05:00
mkarolin 7a972fd3dd Fixes aggressive replacements of person/people with profile(s). 2024-11-13 17:18:08 -05:00
Artem Samoilenko 538b167681 [Android] Fix for branding in browser_ui component strings 2024-11-11 09:41:44 -05:00
Mikhail b8a60ee66f Remove Greaselion (#26283)
* remove greaselion files
* cleanup *.h files
* cleanup *.cc files
* cleanup GN
* cleanup other files
* Fix presubmit
* Remove extension* from {push/pull}_l10n
2024-11-04 21:10:33 +01:00
Michael Herrmann c43aad5289 Cross-compilation improvements for codesigning (#25087) 2024-08-13 18:08:18 +02:00
Artem Samoilenko 818264c2f7 [C127] [Android] Fix for web app branding icon and string 2024-07-02 09:47:08 -04:00
Max Karolinskiy 5845fb9ffd Update l10n for 1.67.x (Chromium 126) (1.67.x). (#24074)
* Fixes tags validation in l10n scripts.

* Adds tag u to allowed l10n strings tags

* Updated l10n for 1.67.x release.
2024-06-10 15:39:39 -04:00
Max Karolinskiy 639345a7be Update l10n for 1.66.x (Chromium 125) (1.66.x). (#23555)
* Chromium now uses <em> element in their strings.

* Updated l10n for 1.66.x release.
2024-05-10 14:02:06 -04:00
mkarolin f5f985e8cd Fixes overly aggressive string replacements. 2024-03-15 10:50:34 -04:00
mkarolin 7075341e8c Formatting fixes. 2024-02-23 11:29:52 -05:00
mkarolin 6c39360a10 Fixes creation of XTB files for brave_strings.grd. 2024-02-22 16:56:33 -05:00
a923a2e308 Upgrade from Chromium 121 to Chromium 122 (#21524)
* Update from Chromium 121.0.6167.164 to Chromium 122.0.6261.29.

* Conflict-resolved patches from Chromium 121.0.6167.139 to Chromium 122.0.6261.18.

* Update patches from Chromium 121.0.6167.164 to Chromium 122.0.6261.29.

* Updated strings for Chromium 122.0.6261.29.

* `GetActivityDataService` deleted from `Configurator`

This change adds the new override in place of `GetActivityDataService`
used to retrieve the `PersistedData` instance.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/072744fba32a7435d6a2ee06fed2fa25f645dea9

commit 072744fba32a7435d6a2ee06fed2fa25f645dea9
Author: Joshua Pawlicki <waffles@chromium.org>
Date:   Wed Dec 6 00:57:12 2023 +0000

    update_client: Inject PersistedData from the configurator.

    This unifies (to some degree) updater::PersistedData and
    update_client::PersistedData.

    updater::PD now implements update_client::PD, and internally delegates
    most functionality to update_client::PersistedDataImpl.

    Bug: 1496356

* `WebUIBubbleDialogView` constructor taking a weak ptr

This constructor is now taking a reference to `BubbleContentsWrapper` as
a `WeakPtr`, as the lifetime of the two are not tied.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/47de8d5f05c98634e3dc3ec4dadc42cb6bdbc7ed

commit 47de8d5f05c98634e3dc3ec4dadc42cb6bdbc7ed
Author: Justin DeWitt <dewittj@chromium.org>
Date:   Tue Dec 5 23:45:11 2023 +0000

    WebUI: Make WebUIBubbleDialogView hold a weak pointer to BubbleContentsWrapper.

    WebUIBubbleDialogView dereferences BubbleContentsManager in its
    destructor, but BubbleContentsWrapper is not a View and so may be
    destroyed before or after BubbleContentsWrapper.

    Bug: 1505002, b:313664294

* Fixing `MigrateObsoleteProfilePrefs` override args

A new argument has been added to the function being override, which must
be passed along.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/6cc844034df95e44f49fdb8d698f80cdb44bd40a

commit 6cc844034df95e44f49fdb8d698f80cdb44bd40a
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Wed Dec 6 15:21:57 2023 +0000

    Add scaffold of SetUsesSplitStoresAndUPMForLocal() and invoke it

    This is the function that will be called on startup to set the
    value of UsesSplitStoresAndUPMForLocal(). Per the doc linked in
    https://crbug.com/1495626, it needs to be invoked before any keyed
    services are created. This is done in MigrateObsoleteProfilePrefs(),
    which is the same approach taken by https://crrev.com/c/5033264.
    Also add a call to MigrateObsoleteProfilePrefs() to TestingProfile,
    so the latter can be used for testing later.

    No behavior change (not even behind flag) because the function is not
    implemented yet.

    Bug: 1495626

* Renaming disabled symbolic link blocklist flag

This flag has been renamed upstream from
kFileSystemAccessDirectoryIterationSymbolicLinkCheck to
kFileSystemAccessDirectoryIterationBlocklistCheck, and an additional
flag has also be introduced to provide more control over the symbolic
link checks.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/c6780249446e2baa1b6426d9936e11c0e0f30a8c

commit c6780249446e2baa1b6426d9936e11c0e0f30a8c
Author: Daseul Lee <dslee@chromium.org>
Date:   Thu Dec 7 19:52:52 2023 +0000

    [FSA] Handle symbolic links when checking blocklists.

    (1) When checking blocklists, use a resolved path returned from
    `base::MakeAbsoluteFilePath()`, which is expected to resolve any
    symbolic link.

    (2) Additionally, check for blocklist when getting a file handle or
    entries (that are files) from a directory handle. With (1), this check
    will make sure any new symlink created after the initial check on the
    parent directory is caught and re-run with blocklist check on fully
    resolved path.

    Previously, crrev.com/c/4005144 attempted to handle case (2) partially
    on POSIX, using `base::IsLink()` and `base::ReadSymbolicLink()`, causing
    some potential bugs. This CL re-attempts to fix the issue using
    `base::MakeAbsoluteFilePath()`, which is available on both POSIX and
    Windows.

    Both features are disabled and will be enabled after testing.

    Bug: 1378484

* `kIOSPromoPasswordBubble` deleted upstream

Chromium change:
https://chromium.googlesource.com/chromium/src/+/43d36ae75975c7145f3c27159dbd22279c71e766

commit 43d36ae75975c7145f3c27159dbd22279c71e766
Author: Nicolas MacBeth <nicolasmacbeth@google.com>
Date:   Fri Dec 8 20:40:34 2023 +0000

    [iOS Desktop password promo] Cleaned up feature flag

    Cleaned up feature flag for iOS Desktop Acquisition promo for passwords. Only kept the QR code variant of the promo. launch/4243343

    Bug: 1490032

* `TabDragController` initialisation returns failure

Upstream has added a return type to this procedure to allow the
detection of certain initialisation failures. This PR carries along the
return value, or carries on with the initialisation for Brave's own
override.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/9d735cd87ac4cdebe7c685b165eb798246331070

commit 9d735cd87ac4cdebe7c685b165eb798246331070
Author: Taylor Bergquist <tbergquist@chromium.org>
Date:   Sat Dec 9 00:21:02 2023 +0000

    Fix crash when TabDragController is destroyed during Init.

    TabDragController may be destroyed during Init when it calls SetCapture. This is because the OS calls to take capture may reenter Chrome, and tab dragging may end during those reentrant calls.

    This CL fixes the immediate crash, which happens when TabDragController is dereferenced after Init to do some logging. https://crbug.com/1509581 tracks followup work to extend this approach across the rest of TabDragController.

    I also moved SetCapture to the end of Init again, and added a giant 'do not add code below here' warning. The code that was after SetCapture wouldn't have run before we potentially reentered TabDragController - so basically TDC was partially uninitialized during that period.

    Bug: 1431369

* `PartitionKey` to be provide by callers for `PrefProvider`

This argument has been changed from defaulted in the declaration to
entirely demanded from callers. This change adds the argument to
callers, to use the existing WIP default key.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/805e37d137827ce3e115d7022b044294bf13f760

commit 805e37d137827ce3e115d7022b044294bf13f760
Author: Jason Lin <lxj@google.com>
Date:   Tue Dec 12 05:52:22 2023 +0000

    Remove default PartitionKey from content_settings::ProviderInterface

    We have migrate all the callers to specify it explicitly.

    Note that some ProviderInterface subclasses have a default value for
    `ContentSettingConstraints` (although ProviderInterface itself does
    not), which is only used by tests. This has also been removed to
    satisfy the rule of default values. It is probably a good idea to
    remove it anyway to be consistent with the base class.

    Bug: b/307193732

* Bypassing visibility checks for cargo crates

Chromium change:
https://chromium.googlesource.com/chromium/src/+/c3ee076df53f8eadd0ded51d0eb6f14a95376d0e

commit c3ee076df53f8eadd0ded51d0eb6f14a95376d0e
Author: Nabil Wadih <nwadih@google.com>
Date:   Tue Dec 12 18:44:37 2023 +0000

    Propagate test-only flag to build_script targets

    Propagate the test-only flag to the `*_build_script__rlib` target
    which is generated by the build system for cargo_crate targets.
    Without propagating the flag the build will fail with "Only targets
    with "test-only=true" can depend on other test-only targets"

* Reanchoring `PermissionControllerDelegate` overrides

The function that was being used as an anchor for the token replacement
has been renamed.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/33b441e83b1f70381158fcafb0ecde9168b79524

commit 33b441e83b1f70381158fcafb0ecde9168b79524
Author: Balazs Engedy <engedy@chromium.org>
Date:   Tue Dec 12 18:53:42 2023 +0000

    Improve wording of SubscribePermissionStatusChange.

    To better indicate what is being subscribed to what, rename:

    SubscribePermissionStatusChange
      -> SubscribeToPermissionStatusChange

    UnsubscribePermissionStatusChange
      -> UnsubscribeFromPermissionStatusChange

    Bug: 1510841

* [Android] Changes for PermissionDialog

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/0797b61d3cc617c41998d55c51bd5ae97437b77d

Clank OTP: add prompt/delegate JNI logic for one time permissions

Bug: 1509386

* [Android] Minor code adjustments to the C122 upstream changes

* [Android] Remove most Resources#getColor()

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/786b549f7d4b2035ae2155ac9f22b15f8013c55e

Remove most Resources#getColor().

Low-Coverage-Reason: TRIVIAL_CHANGE
Bug: 1302803

* Rename chromium_strings to brave_strings due to upstream branding changes

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/84840cc4328d7abf6a1de5d71ac1b453a159a0a5

commit 84840cc4328d7abf6a1de5d71ac1b453a159a0a5
Author: Sergei Poletaev <spylogsster@gmail.com>
Date:   Tue Dec 12 17:29:25 2023 +0000

    Fix hardcoded chromium branding for strings grds

    Building Chromium with separate branding usign branding_path_component
    strings resources still have hardcoded chromium branding.
    This patch fixes it using branding_path_component value.

    Bug: 1510246

* Fixes extraction of Chrome strings into Brave.

This was likely broken since the branding change of using the brand name
in string files instead of chromium, but hasn't shown up because the
affected files maybe haven't changed for a while.

* `kEnableLensPing` flag reverted

This flag's original CL has been reverted, and since it was being
disabled by default, it has no effect to brave.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f56b9c19fa18707a353b7ee922c473d71786102c

commit f56b9c19fa18707a353b7ee922c473d71786102c
Author: Anudeep Palanki <apalanki@google.com>
Date:   Wed Dec 13 18:01:47 2023 +0000

    [Tech Debt] Remove expired enable-lens-ping

    Reverts changes made in https://chromium-review.googlesource.com/c/chromium/src/+/4406511

    Bug: b/311788454,1489925

* `kNtpHistoryClustersModuleDiscounts` flag deleted upstream

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f0c4460c2a3742970950378fd5d88a882c534ceb

commit f0c4460c2a3742970950378fd5d88a882c534ceb
Author: Mei Liang <meiliang@chromium.org>
Date:   Wed Dec 13 20:28:33 2023 +0000

    [Discounts][fixit] Clean up the kNtpHistoryClustersModuleDiscounts flag

    Bug: b:309863117

* [ios] Browser `net` moved into `model/` subfolder

This is a regular path refactoring that is taking place upstream. This
change in particular requires changes to specific patches we have, as
well as inclusion paths.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/bbeef1ef9429af7741ef8aad3cfdcea9a82568fd

commit bbeef1ef9429af7741ef8aad3cfdcea9a82568fd
Author: mmrashad <mmrashad@google.com>
Date:   Thu Dec 14 15:16:46 2023 +0000

    [Code Health][iOS][3/3] Move ios/c/b/net to model subfolder

    To simplify the folder hierarchy on iOS and have a clearer layer
    separation, all the files in ios/c/b/<foo>/ will be moved to
    ios/c/b/<foo>/model/ to showcase that they are model files.

    Bug: 1319852, 1480322

* `RenderViewHost` getter removed from `RenderViewContextMenuProxy`

This change is of no effect to brave, as it only affects the stub of a
mock returning a nullptr.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/3fd0e9663bec4f2e83f6313d36e33acbb190ca7b

Author: Ian Vollick <vollick@chromium.org>
Date:   Thu Dec 14 21:51:51 2023 +0000

    Avoid use of RenderViewHost in RenderViewContextMenu

    With this change, we switch callers to getting a RFH (either for the
    appropriate subframe or the primary main frame of the associated web
    contents) as suggested by mcnee@.

    Bug: 1129073,1393234

* Memory saver url constants renamed

These URL contants are entirely shadowed in brave, and require to be
redifined on our own overrides.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/3a43a5f06f6c228b7475a0d51d3ed9bbad08805f

commit 3a43a5f06f6c228b7475a0d51d3ed9bbad08805f
Author: Alison Gale <agale@chromium.org>
Date:   Thu Dec 14 16:04:22 2023 +0000

    Rename remaining instances of high efficiency to memory saver

    This is one of a set of CLs to rename the "high efficiency" feature to
    "memory saver" to match the branding we launched with and resolve
    confusion when searching for code. All CLs are tagged with
    #rename-high-efficiency. I plan to wait for most of them to be
    approved before starting to submit these changes to ensure the code
    remains in a consistent state. After submitting these CLs I'll make
    another pass to capture any remaining references that can be changed.

    #rename-high-efficiency

    Bug: 1493843

* [ios] Include `DriveService` provider

This provider is necessary to avoid linking error.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/3c1ae5137984621c7d9f50bc388d501960067507

commit 3c1ae5137984621c7d9f50bc388d501960067507
Author: Quentin Pubert <qpubert@google.com>
Date:   Tue Dec 12 17:09:30 2023 +0000

    [iOS] Add Drive provider API and DriveService

    This CL adds a Drive provider API with a single function
    ```
    std::unique_ptr<drive::DriveService> CreateDriveService(
        const drive::DriveServiceConfiguration& configuration);
    ```
    which returns an instance of `drive::DriveService` based on the provided
    `DriveServiceConfiguration` instance.

    Bug: 1495347

* Revert "`RenderViewHost` getter removed from `RenderViewContextMenuProxy`"

This reverts commit 11b127abab3772ab3fe045612386669df7c5a0c1.

* `kFirstPartySets` deleted upstream

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2f66b94b342466015f3a0a95479bddc9d7e99f0a

commit 2f66b94b342466015f3a0a95479bddc9d7e99f0a
Author: Chris Fredrickson <cfredric@chromium.org>
Date:   Fri Dec 15 20:38:49 2023 +0000

    [RWS] Remove RWS feature flag

    This feature became enabled by default in M119.

    This CL deletes the FirstPartySetsClearSiteDataOnChangedSets param
    (which is enabled by default now), and hardcodes the
    FirstPartySetsMaxAssociatedSites param in the parser.

    However, the FirstPartySetsNavigationThrottleTimeout param and
    associated FirstPartySetsNavigationThrottle code (which is a no-op
    today, other than in tests) shouldn't be deleted yet, since it is
    important if Chrome is configured to "pause" network requests until
    RWS is fully initialized. That behavior is controlled by the
    WaitForFirstPartySetsInit feature (and is tested, since I'd love to
    enable it someday to fix https://crbug.com/1488079), but is disabled
    by default. So this CL moves the
    FirstPartySetsNavigationThrottleTimeout param to the
    WaitForFirstPartySetsInit feature instead of deleting it.

* Changes to CT policy enforce testing methods

This is a straight forward change around the use of
`SetCTLogListAlwaysTimelyForTesting`, which has been deleted upsrteam.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/635c4a0fd2ee0985953464778e2af0f94d9063b4

commit 635c4a0fd2ee0985953464778e2af0f94d9063b4
Author: Matt Mueller <mattm@chromium.org>
Date:   Fri Dec 15 19:05:40 2023 +0000

    refactor CTPolicyEnforcer to be run by CertVerifyProc

    Previously it was run at the socket layer in the network service.

    Bug: 848277

* Fix `ShouldSkipConditionalFeatureEntry` override

This override used to rely on a replacement on its body, however due to
recent upstream changes, the token in question has been moved to be
guarded for ash-mode only.

This change adds a patch to make sure the token is replaced on the exact
expected place.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/dd7cd30687778973e99cfc9829d314b37dbcc1a0

commit dd7cd30687778973e99cfc9829d314b37dbcc1a0
Author: François Beaufort <beaufort.francois@gmail.com>
Date:   Fri Dec 15 11:58:35 2023 +0000

    Show chrome://flags/#enable-unsafe-webgpu on all channels

    As WebGPU shipped on stable channel, this restriction is not
    needed anymore.

    Bug: 852089

* `ENABLE_SEARCH_ENGINE_CHOICE` build flag deleted

This build flag has been deleted and it seems that the actual test is
whether or not it is an android build.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/1aae2ba88f573a0517572708647c3ab1ee7fbea5

commit 1aae2ba88f573a0517572708647c3ab1ee7fbea5
Author: Jack Yammine <jyammine@google.com>
Date:   Sat Dec 16 06:56:36 2023 +0000

    [waffle]Remove the 'ENABLE_SEARCH_ENGINE_CHOICE' build flag

    We remove the buildflag because it has caused a lot of issues when
    we forget to check if the code compiles on Fuchsia for example.

    Instead, we build the files on all Desktop operating systems and
    make sure that the `SearchEngineChoiceService` is only initialized
    on the operating systems in which we want to display the screen.

    Fixed: b:308433630

* `use_typescript_sources` deleted upstream

The use of this variable was a workaround due to mojom interfaces that
needed to still support JS bindings. This seems to be fixed upstream now
around the dependencies that had caused this issue in the first place,
with the variable gone with it.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/345a777cc39fcf40be04f1db1023f2b5c4a65ec1

commit 345a777cc39fcf40be04f1db1023f2b5c4a65ec1
Author: Rebekah Potter <rbpotter@chromium.org>
Date:   Fri Dec 15 20:12:14 2023 +0000

    Reland WebUI Mojo Bindings: Remove use_typescript_sources

    This reverts commit 302442a4b40c217a82ed67c01b83bb3b755542d9.

    Reason for revert: Fixing typo

    Original change's description:
    > Revert "WebUI Mojo Bindings: Remove use_typescript_sources"
    >
    > This reverts commit 2599dd89d8c7c4afc478906b02105abbfca40c5f.
    >
    > Reason for revert: breaks compile for chromeos dbg
    > https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/1632716
    >
    > FileNotFoundError: [Errno 2] No such file or directory: 'gen/mojom-webui/chrome/test/data/webui/chromeos/web_ui_test.mojom-webui.js'
    >
    > Original change's description:
    > > WebUI Mojo Bindings: Remove use_typescript_sources
    > >
    > > The use_typescript_sources parameter was confusing to reviewers (not
    > > clear what "sources" it refers to, or that it is WebUI-specific), and
    > > is now default true/on which is the reverse of convention and confuses
    > > developers about when the parameter needs to be specified.
    > >
    > > Renaming it to generate_webui_js_bindings, changing to default "off",
    > > and limiting the parameter to ChromeOS Ash since WebUI bindings always
    > > use TypeScript on other platforms.
    > >
    > > In this CL removing use_typescript_sources and updating a few
    > > remaining users.
    > >
    > > Bug: 1002798
    > > Change-Id: Ic6ee29be22b65bb2d4b1f5fda013766b3c06bd5e
    > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5115946
    > > Reviewed-by: Reilly Grant <reillyg@chromium.org>
    > > Reviewed-by: Robert Sesek <rsesek@chromium.org>
    > > Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
    > > Cr-Commit-Position: refs/heads/main@{#1237670}
    >
    > Bug: 1002798
    > Change-Id: I84c93e8c09ac384f18440e3eb791cf8b5b5d4b22
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5124793
    > Auto-Submit: Joel Hockey <joelhockey@chromium.org>
    > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    > Commit-Queue: Shibalik Mohapatra <shibalik@chromium.org>
    > Owners-Override: Shibalik Mohapatra <shibalik@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#1237850}

    Bug: 1002798

* Reanchoring `PermissionPromptBubbleBaseView` override

This override used to be part of the constructor of the class, however
the button creation step that it is associated with has been moved to a
separate method, and therefore data like the browser instance, and
delegate must be accessed as data members.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/187fedf3180a0459668ac5ecc8c1e41dc66f46cc

commit 187fedf3180a0459668ac5ecc8c1e41dc66f46cc
Author: Daniel d'Andrada <dandrader@google.com>
Date:   Mon Dec 18 13:59:24 2023 +0000

    Refactor PermissionPromptBubbleBaseView

    Do not override GetWindowTitle() and
    GetAccessibleWindowTitle() as this duplicates logic already present in
    WidgetDelegate.

    Also, instead of having child classes pass this information in the
    constructor let them use the existing setters instead.

    Splitting the big do-it-all constructor into separate methods improves
    readability and extensibility. You no longer have to add yet another
    constructor parameter when something else in the base prompt needs to be
    customized.

    Bug: 1503624

* Fix overrides around `ToolbarButton`

There's no need anymore to virtualise `UpdateColorsAndInsets`, as it has
been made virtual upstream. There has also been some change to the
`ConfigureInkDropForToolbar`, and its argument list that had to be
matched on our override.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/5018745e22b1cc42d8f5e450754a2b757c447638

commit 5018745e22b1cc42d8f5e450754a2b757c447638
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Tue Dec 19 15:14:54 2023 +0000

    [Extensions c2s] Add ToolbarChipButton with flat edges

    ToolbarButton has two formats: default and highlight (label with
    border). This CL introduces a new formatting that allows the button
    to have a flat edge. To not interfere with the existing toolbar
    buttons formatting, it's implemented as ToolbarChipButton.

    Toolbar chip button is used in the extensions toolbar to display
    the extensions request access button (right flat edge) and the
    extensions toolbar button (left flat edge only when request access
    button is visible). This will allow us to remove the extensions
    controls view and add the toolbar buttons directly to the extensions
    container.

    Screenshot:
    https://drive.google.com/file/d/1dacX_zUOjTspVojxzzB_ArpAOcw9jPFp/view?usp=sharing
    Screencast: https://drive.google.com/file/d/1w0oQgpg4Npk_blJqwtK_W1GRD8KGaIvc/view?usp=sharing

    Bug: 1511762

* Constraining `GetActiveWebContents` substitution

This token is being subsituted to inject some code in
`ShowDeviceChooserDialogForExtension`. This substitution can easily
break due to how common this function name is.

This change prempts the inclusion of header that started causing an
unwanted substitution.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/550ac0206ee38484e0cf4604735b106d74aece8f

commit 550ac0206ee38484e0cf4604735b106d74aece8f
Author: Emilia Paz <emiliapaz@chromium.org>
Date:   Tue Jun 13 00:54:49 2023 +0000

    [Extensions] Add extensions to request access button tooltip

    Display the extensions requesting site access in the request access
    button tooltip instead of a hover card. This change is after a study
    where the users were constantly trying to click on the hover card.

    Leaving the hover card coordinator and bubble for now, since we are
    testing the tooltip.

    Screenshot:
    https://drive.google.com/file/d/1wicsoVb5RkvJQoA51w9y4A9L94c1uDeP/view?usp=sharing

    Bug: 123977

* `MutableProfileOAuth2TokenServiceDelegate` ctor updated

The brave implementation passes along all the construction arguments
necessary, and one of the argument types in the argument list changed,
however this is of no effect for our own implementation.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/c5c0858f7978be99020e9b3da8a3ef5e6cb21ef3

commit c5c0858f7978be99020e9b3da8a3ef5e6cb21ef3
Author: Gabriel Oliveira <gabolvr@google.com>
Date:   Tue Dec 19 17:04:03 2023 +0000

    [Uno-D] Keep signed in account on reload with clear on exit for UNO

    Bug: b/311143191

* [ios] Browser `tab` moved into `model/` subfolder.

This change merely affects inclusion paths.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/9baed1f5d6064a8aa83525afe3f2a87c355418b4

commit 9baed1f5d6064a8aa83525afe3f2a87c355418b4
Author: Sylvain Defresne <sdefresne@chromium.org>
Date:   Tue Dec 19 16:25:59 2023 +0000

    [ios] Move tabs related model files to //ios/chrome/browser/tabs/model

    As discussed in https://crrev.com/c/5134814, move a couple of files from
    //ios/chrome/browser/sync/model to //ios/chrome/browser/tabs/model.

    Bug: none

* Using `raw_ptr` with `vector<T*>`

Upstream vector of pointers are now wrapping the reference into a
`raw_ptr`. This change corrects our interactions with such upstream
containers.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2

commit e63cbaf6fdcfdac0f04883d956b00e83330bd0a2
Author: Ali Hijazi <ahijazi@chromium.org>
Date:   Wed Dec 20 19:29:35 2023 +0000

    Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>>

    See chromium-dev announcement:
    https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer

    Code review:
    - First patch: Automatic rewrite
    - Later patches: Manual fixes

    The automatic rewrite used the script:
    ./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh

    Binary size increase:
    The increase is only 33% (+5kB) above the per-patch limit (+16kB). This
    is not a lot given the size of the rewrite. Increase of around 500kb was
    approved for MiraclePtr.

    AX-Relnotes: n/a.

* Add metadata to `TransparentButton` derived types

Metadata has been added to `TransparentButton`, which forces all derived
types to also have it. This change adds the missing metadata to
BraveDownloadItemViewButton.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/dab2d7d8039c805038cd357dd46e7b298728f381

commit dab2d7d8039c805038cd357dd46e7b298728f381
Author: David Yeung <dayeung@chromium.org>
Date:   Wed Dec 20 18:12:19 2023 +0000

    [views] Update METADATA_MACRO to use newer version.

    Update View classes to use 2 param version of METADATA_HEADER.

    Low-Coverage-Reason: LARGE_SCALE_REFACTOR
    Bug: 1485768

* [ios] Browser `web` moved into `model/` subfolder

This change affects inclusion paths, deps, and some of the shadowing
files in our codebase. There are no functional changes however.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dca21fb37574f4076e051aa229bba6cc122a1e4f

commit dca21fb37574f4076e051aa229bba6cc122a1e4f
Author: Weizhong Xia <weizhong@google.com>
Date:   Wed Dec 20 20:10:11 2023 +0000

    [Code Health][iOS] Move ios/c/b/web to model subfolder

    To simplify the folder hierarchy on iOS and have a clearer layer
    separation, all the files in ios/c/b/<foo>/ will be moved to
    ios/c/b/<foo>/model/ to showcase that they are model files.

    Bug: 1480376

* Removing deleted header for notification auth types

This header has been deleted upstream, but its deletion is of no
consequence to the sites where it was being included.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/1ae20a326e55ac545846b136b2f5f173995e91f5

commit 1ae20a326e55ac545846b136b2f5f173995e91f5
Author: Erik Chen <erikchen@chromium.org>
Date:   Tue Dec 26 07:04:17 2023 +0000

    Delete auth notification types.

    All remaining usage has been migrated. The code is unused.

    Bug: 1371177, 1174785

* [WIP] Fix `BraveOmniboxClient` weakptr substitution

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f19bec69a942a25908c2842b368f37396193d27a

commit f19bec69a942a25908c2842b368f37396193d27a
Author: David Bertoni <dbertoni@chromium.org>
Date:   Wed Dec 27 19:13:13 2023 +0000

    [Code Health] Remove uses of base::SupportsWeakPtr (ob)

    Bug: 647430

* [ios] Public key pins check simplified

Upstream has greatly simplified the signature for the
`CheckPublicKeyPins`, and this change adjusts that accordingly.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/e4fc52aab5f330bb114a8054a88751e4759c54e3

commit e4fc52aab5f330bb114a8054a88751e4759c54e3
Author: Emily Stark <estark@google.com>
Date:   Wed Dec 27 08:02:58 2023 +0000

    Remove public key pins reporting

    This feature is somewhat obviated by Certificate Transparency monitoring and rarely used (only by Google servers), so this CL removes it.

    Internal doc for context: https://docs.google.com/document/d/1eQDOFIEZgFv5ITIX5d4iqaWYjQNp2vH0D1U7i57Z2tw/edit?tab=t.0

    Bug: 1513205

* `SelectFileDialog` listerner passing `SelectedFileInfo`

This listener has been simplified to use `SelectedFileInfo` instances on
its events. This meant updating our own uses of these overriden
interfaces.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/d0b88a2bb42b34c43720c0e9ee2543e4c9df3071

commit e4fc52aab5f330bb114a8054a88751e4759c54e3
Author: Emily Stark <estark@google.com>
Date:   Wed Dec 27 08:02:58 2023 +0000

    Remove public key pins reporting

    This feature is somewhat obviated by Certificate Transparency monitoring and rarely used (only by Google servers), so this CL removes it.

    Internal doc for context: https://docs.google.com/document/d/1eQDOFIEZgFv5ITIX5d4iqaWYjQNp2vH0D1U7i57Z2tw/edit?tab=t.0

    Bug: 1513205

* `monochrome_public_common_apk_or_module_tmpl` removed upstream

The case for which the patching of this template had been introduced was
deleted a while ago, so the patch was not required anymore.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f326467d56d41a0db84b5d3209a6db3654978a4b

commit f326467d56d41a0db84b5d3209a6db3654978a4b
Author: Egor Pasko <pasko@chromium.org>
Date:   Tue Jan 2 16:03:26 2024 +0000

    Remove monochrome_public_common_apk_or_module_tmpl

    This template is no longer used?

    Bug: 1427610

* `BubbleContentsWrapper` requires a UI name

Upstream validates the UI name during compile-time, and assorts it with
some histograms. Although the historgrams are not relevant to brave, the
names are being provided to avoid invasive changes in upstream code.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/80995e9585aa13ab4fb6293a6f9d946a26e81c01

commit 80995e9585aa13ab4fb6293a6f9d946a26e81c01
Author: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Date:   Tue Jan 2 15:05:05 2024 +0000

    Record histograms for LCP of non-tab WebUI content

    This CL adds some histograms to record the Time to Largest Contentful Paint of different WebUI surfaces. To achieve this, it introduces a new `PageLoadMetricsObserver` subclass that is only installed for `WebContents` associated with a `BubbleContentsWrapperT`. This should cover all of side-panel WebUI contents, as well as some bubbles set up using this wrapper.

    Having these metrics aims to help analyze the performance of these non-tab WebUI surfaces, and the `PageLoadMetricsObserver` can be extended to further progress towards this goal (more metrics, trace events, etc).

    Change-Id: I11cfca4358ff8a9f8cdaccd58f06a78eba0dbfc5

* `MakeFixedFlatMap` now `consteval`

By making this consteval, the issue of sorting has been sidestepped with
a more reliable approach. The use of `base::sorted_unique` is not
required anymore for fixed flat maps, as consteval guarantees the
operation will happen at compile time, as opposed to the compiler
bailing out during sorting with `constexpr`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/45e5a3254798f4f5ccb1ee5b220513a6b773f529

commit 45e5a3254798f4f5ccb1ee5b220513a6b773f529
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Tue Jan 2 18:36:08 2024 +0000

    Make base::MakeFixedFlatMap consteval

    This ensures that it will be evaluated at compile-time.

    Also adds MakeFixedFlatMapNonConstEval for the one instance where
    compile-time evaluation is not possible.

    Bug: None

* Removing `proxy_server` from `ProxyChain`

The new accessor is indexed by the chain number. This change corrects
the existing tests to use the default first chain.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/13e652b8b2c26c47b5e498c19be37d3189405e04

commit 13e652b8b2c26c47b5e498c19be37d3189405e04
Author: Andrew Williams <awillia@chromium.org>
Date:   Tue Jan 2 16:49:12 2024 +0000

    [IP Protection] Remove ProxyChain::proxy_server and ProxyList::GetAll

    This continues our migration from using ProxyServers directly to
    using ProxyChains.

    Bug: 1491092

* [Android] BaselineGM3SurfaceColors flag was removed

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/3ef96fad99e1e08269df3965dca06f05b034ce65

[Fixit] Clean up BaselineGM3SurfaceColors

This CL also revs a bunch of render tests. Even though the feature has
been enabled for some time, the render tests weren't affected because
they don't run the actual ChromeBaseAppCompatActivity and wouldn't be
applying the theme overlay that was gated behind the--now enabled--flag.

Bug: 1410537

* [Android] PrivacyGuideAndroid flag was deprecated

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/46077c8b9f2e8e3f9ee8c56fc36157fed26606f2

[Fixit] Deprecate kPrivacyGuideAndroid flag

Bug: 1490155

* [Android] Generic callback interfaces were removed

The quick fix is just to return them back into our code base as they are used in may places in our code.

Chromium change:
https://github.com/brave/chromium/commit/d166d258ebe6545f2e3401eed812bb72280a9cad

Remove the generic Mojo callback interfaces.
This potentially allows followups to pass primitive types rather than
the Boxed equivalent, and removes the need to write Callback0,
Callback1, Callback2, et cetera generic interfaces.

Bug: 1491924

* Virtual method `IsConnectionMetered` add to Configurator

This method has a simple implementation as an accessor to the
implementation's function of the same name.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/fb0255c8d251639c336a2f133fc65a3c6336f49b

commit fb0255c8d251639c336a2f133fc65a3c6336f49b
Author: Noah Rose Ledesma <noahrose@google.com>
Date:   Thu Jan 4 00:28:23 2024 +0000

    Allow component updates to be disabled on metered connections

    Component installer policies can now specify if the component should be
    updated on metered networks. This will be useful for the addition of
    larger non-critical components.

    Bug: 1513241

* Fix `DeviceInfoSyncBridge` access to its data

The type of `all_data_` has been changed to an internal class, providing
an accessor to `DeviceInfoSpecifics`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/eedd55b4358962e0feb1c08ed013275c750ae32e

commit eedd55b4358962e0feb1c08ed013275c750ae32e
Author: Mikel Astiz <mastiz@chromium.org>
Date:   Wed Jan 3 16:41:41 2024 +0000

    [sync] Precompute DeviceInfo for each DeviceInfoSpecifics

    Eventually, the goal is to improve performance for functions such as
    DeviceInfoSyncBridge::GetAllDeviceInfo().

    As a first step, the internal map maintained by DeviceInfoSyncBridge is
    extended to maintain, for each proto, the converted DeviceInfo class.
    This incurs in some memory overhead but it is deemed negligible for the
    vast majority of users (a few kilobytes in total for the 99th
    percentile).

    This change doesn't immediately come with performance benefits as
    GetAllDeviceInfo()'s signature enforces the need to make deep copies.
    As per added TODOs, follow-up patches will update this signature to
    avoid these expensive copies.

    Change-Id: I88631d694516954e919299c6da967110440401a5
    Bug: b/316374607

* Deprecated `SetPrivacySandboxEnabled` deleted

Chromium change:
https://chromium.googlesource.com/chromium/src/+/ee1264ea003c2a0f14cc68e585706a13901ad7a4

commit ee1264ea003c2a0f14cc68e585706a13901ad7a4
Author: Mariam Ali <alimariam@google.com>
Date:   Wed Jan 3 15:07:59 2024 +0000

    Privacy Sandbox GA Cleanup: Remove deprecated SetPrivacySandboxEnabled method

    Bug: 1449833, 1378703

* [Android] kWebViewMetricsFiltering flag was removed

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e63d689c6868ae6e96ed7d65967fed056443f198

Clean up WebViewMetricsFiltering after being default enabled

Also remove unneeded tests.

Bug: 1465353, 1385901

* Changes for PermissionRequestManager::Requests

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2

Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>>

See chromium-dev announcement:
https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer

Code review:
- First patch: Automatic rewrite
- Later patches: Manual fixes

The automatic rewrite used the script:
./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh

Binary size increase:
The increase is only 33% (+5kB) above the per-patch limit (+16kB). This
is not a lot given the size of the rewrite. Increase of around 500kb was
approved for MiraclePtr.

AX-Relnotes: n/a.
Binary-Size: See commit description.
Bug: 1432993

* [Android] Fix for GetLocalPrepopulatedEngines changes

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/0cd7f0c1767b6d5d15a0e99adcb39b15ab76c412

🧇 Ensure that GetPrepopulatedTemplateURLData never gets null prefs

A previous change started making it required to pass prefs when calling
this method, but Android is the last platform where the
SearchEngineChoice feature that requires it is not enabled. In
preparation of rolling out changes related to this feature on Android
too, we close this outstanding issue.

Noting that:
1. We still have many tests passing null prefs, so this
exception is allowed for now, until we fix this in follow-ups, as
part of https://crbug.com/1499181
2. We are assuming that the service should be available when methods
are called from Java, and currently return fallback values if it's
not the case. We will move the service availability check to Java in
another follow-up (see b/318339172).

Bug: 1499181
Fixed: b:303632061

* [Android] NTP code cleanup

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c61d12a60ddfe88a1f18810c32f338ebaa0b0239

[Android] Cleanup kProbabilisticCryptidRenderer deprecated flag

Bug: 1385901

* [Android] Removed unused rounded_corners resource

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/1511362d0f3b9d49d2d39214b30113c046233ea8

Remove FEED_BACK_TO_TOP

We don't have a plan to experiment and launch this feature. We're
working on refactoring feed code to support new layout and we don't want
to spend extra time maintaining unplanned feature.

Bug: 1511104

* [Android] Minor unit tests fixes

* [Android] Query tiles feature was deprecated

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/eda153ebc5666ae870421560c5184783bc73553a

[Fixit] Deprecating query tiles feature code for NTP and Start.

In this CL, cleanup all the code related related to QueryTiles at NTP
and Start. Also deleting QueryTileSegmentation feature flag.

Change-Id: I44e88352646deeda69cca90a559139f79535b9dc
Bug: b/316606367

* Replace BasicStringPiece with std::basic_string_view

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9dcb26dd13712e39f7e76e6678011dc842b630bd

commit 9dcb26dd13712e39f7e76e6678011dc842b630bd
Author: Takuto Ikuta <tikuta@chromium.org>
Date:   Tue Dec 19 08:02:08 2023 +0000

    base: remove BasicStringPiece

    Bug: 691162

* Add missing //chrome/browser/permissions dep

* Remove obsolete MigrateBraveDarkModePrefs

* Testing profile now migrates obsolete profile prefs

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e63cbaf6fdcfdac0f04883d956b00e83330bd0a2

commit e63cbaf6fdcfdac0f04883d956b00e83330bd0a2
Author: Ali Hijazi <ahijazi@chromium.org>
Date:   Wed Dec 20 19:29:35 2023 +0000

    Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>>

    See chromium-dev announcement:
    https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer

    Code review:
    - First patch: Automatic rewrite
    - Later patches: Manual fixes

    The automatic rewrite used the script:
    ./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh

    Binary size increase:
    The increase is only 33% (+5kB) above the per-patch limit (+16kB). This
    is not a lot given the size of the rewrite. Increase of around 500kb was
    services are created. This is done in MigrateObsoleteProfilePrefs(),
    which is the same approach taken by https://crrev.com/c/5033264.
    Also add a call to MigrateObsoleteProfilePrefs() to TestingProfile,
    so the latter can be used for testing later.

    No behavior change (not even behind flag) because the function is not
    implemented yet.

    Bug: 1495626

* [Android] Changes for SingleWebsiteSettings.setupContentSettingsPreference

Chromium changes:
https://source.chromium.org/chromium/chromium/src/+/104fb6d77c5d1d5c07e33486ad3d4c901bfbf907

Clank OTP: Add support for showing one time grant in page info

Bug: 1509386

* Correct access to `DeviceInfoTracker`

In order to avoid deep copies, access to `DeviceInfo` in
`DeviceInfoTracker` is now done to a vector of pointers for the info.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/5c6b332f6993841570c4e45eec87d7e5828351bd

commit 5c6b332f6993841570c4e45eec87d7e5828351bd
Author: Mikel Astiz <mastiz@chromium.org>
Date:   Thu Jan 4 20:24:30 2024 +0000

    [sync] Avoid deep copies of DeviceInfo in DeviceInfoTracker

    This is a performance improvement that makes APIs calls such as
    GetAllDeviceInfo(), as implemented by DeviceInfoSyncBridge,
    significantly faster for users with a very large number of sync-ing
    devices (deemed to be a rare scenario).

    There are still codepaths under chrome/browser/sharing that perform
    deep copies, now moved to the calling site. TODOs have been added to
    tackle those in follow-up patches.

    Change-Id: Idd45cffdeb526a3072b2e1afc8eaa89300233956
    Bug: b/316374607

* Access around `OmniboxController` moved around

`OmniboxController::result()` has been rempoved, and `result` is now
retriavable through `autocomplete_controller()` in the controller.

Addiotionally, `OmniboxEditModel::StopAutocomplete()` has been deleted
and it is now accessed through `OmniboxController`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/c36dea22089c9a4ca7bce2d2be11d1f6595b5d0c

commit c36dea22089c9a4ca7bce2d2be11d1f6595b5d0c
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date:   Thu Jan 4 20:17:32 2024 +0000

    [omnibox] Moves StopAutocomplete and StartPrefetch to OmniboxController

    This is intended to beef up the OmniboxController to play more of a
    controller role in the MVC model and provide a consistent interface
    for the caller to start/stop the Autocompletion flow.

    This CL does not move OmniboxEditModel::StartZeroSuggestRequest() and
    OmniboxEditModel::StartAutocomplete() to the OmniboxController yet.

    Removes result() and query_in_progress() from OmniboxController. Given
    the similar naming of OmniboxController and ACController, these
    convenience methods can be confusing to the reader. These methods can
    be called directly on an AutocompleteController instance which can be
    obtained from the OmniboxController.

    Bug: 1404748

* Fix `ComponentInstaller` overrides arg list

The methods being overriden do not include a `TaskPriority` argument any
longer.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f5b3542ab4e8de9e679924d33c7a3f5fa76695dd

commit f5b3542ab4e8de9e679924d33c7a3f5fa76695dd
Author: Noah Rose Ledesma <noahrose@google.com>
Date:   Fri Jan 5 17:14:24 2024 +0000

    Allow components to be uninstalled w/o registering

    Previously attempting to uninstall a component before it was registered
    could cause a crash due to a null task runner. The task runner
    initialization has been moved to the installer's constructor.

    Additionally, Uninstall now operates without relying on registration
    info to locate the install directory.

    Bug: 1515745

* `IsPrivacySandboxEnabled` deleted upstream

The function `IsPrivacySandboxEnabled` has been deleted based on what
seems to be an effort to deprecate old versions supported for sandbox.
This change deletes the removed virtual, and also a test around this
method that cannot be carried out, now that the method has been deleted
upstream.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/59e9654b8b045701e709da49daf9f287611ef99f

commit 59e9654b8b045701e709da49daf9f287611ef99f
Author: Mariam Ali <alimariam@google.com>
Date:   Thu Jan 4 11:13:02 2024 +0000

    Privacy Sandbox GA Cleanup: Remove deprecated IsPrivacySandboxEnabled method

    Bug: 1449833, 1310157

* `version_info` now under `//base`

Brave's patches and overrides to the `//components` previous version
have been moved into the new location.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/778e421637a4f1cd2268a41a42130f9f83274e40

commit 778e421637a4f1cd2268a41a42130f9f83274e40
Author: Henrique Nakashima <hnakashima@chromium.org>
Date:   Fri Jan 5 19:51:57 2024 +0000

    Move version_info into //base

    This is a step to move version_info from //components into //base,
    which is a dependency of cached feature flags which is also getting
    moved to //base.

    //components/version_info is left as a facade of //base/version_info.

    This CL leaves two copies of Channel.java, one in //components
    (copy of the auto-generated) and one in //base (auto-generated),
    in order to perform the migration to //base downstream. Soon after,
    https://crrev/c/5142488 will delete
    //components/version_info/.../Channel.java. I cannot do it on the same
    CL because of the Java @interface Channel which cannot easily be made
    into a facade. The upstream references are migrated in this same CL.

    Bug: 1515661

* Move `kPresetZoomFactors` overrides to the new blink path

This change corrects the naming and location for the override of this
values to the new location.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/fb71620081ef26d4fce675edf57919840d3bf807

commit fb71620081ef26d4fce675edf57919840d3bf807
Author: Tove Petersson <tovep@chromium.org>
Date:   Fri Jan 5 11:43:10 2024 +0000

    Move kPresetZoomFactors to blink

    kPresetZoomFactors is moved to blink so that it can be exposed to
    JavaScript without interprocess communication.

    Bug: 1466247

* `kPrivacySandboxApisEnabledV2` deprected upstream

This change reexports the now deprecated prefs, in order for brave to
keep disabling these prefs whenever privacy sandbox settings are
changed.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/59e9654b8b045701e709da49daf9f287611ef99f

commit 59e9654b8b045701e709da49daf9f287611ef99f
Author: Mariam Ali <alimariam@google.com>
Date:   Thu Jan 4 11:13:02 2024 +0000

    Privacy Sandbox GA Cleanup: Remove deprecated IsPrivacySandboxEnabled method

    Bug: 1449833, 1310157

* Delete patches for certificate reporting

Chromium change:
https://chromium.googlesource.com/chromium/src/+/9390d199dd1c2c139fec34029694d9f19a13419a

commit 9390d199dd1c2c139fec34029694d9f19a13419a
Author: Mustafa Emre Acer <meacer@chromium.org>
Date:   Tue Jan 9 18:52:28 2024 +0000

    Delete certificate reporting code

    Certificate reports were used to analyze root causes of certificate
    errors in Chrome and produce data for the SSL error assistant feature.
    A paper was published to document our findings. The SSL error assistant is also no longer maintained, so this code is no longer needed.

    Bug: 1479573

* `ExperimentalAsh` trait removed upstream

This trait was being required for compatibility with `raw_ptr` instances
held by upstream code.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/447e6fd97fcdc01ccb53a4a064f40bd97528a873

commit 447e6fd97fcdc01ccb53a4a064f40bd97528a873
Author: Bartek Nowierski <bartekn@chromium.org>
Date:   Mon Jan 8 16:03:05 2024 +0000

    Remove remnants of ExperimentalAsh trait

    This removes all the usage, as well as the definition.

    The trait was used to select pointers for the BRP experiment. BRP is
    now fully enabled for Ash, and the experiment is no longer necessary.

    This CL is mechanical and a no-op.

* Privacy sandbox arg removed from `SetupTestState`

This argument was aparently unused on the functions implementation with
the recent removal of `IsPrivacySandboxEnabled()`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/6d0578a047725f4144abd08c74590fe9ca566426

commit 6d0578a047725f4144abd08c74590fe9ca566426
Author: Dan McArdle <dmcardle@chromium.org>
Date:   Mon Jan 8 16:29:25 2024 +0000

    Remove unused privacy_sandbox_enabled param from SetupTestState()

    I think this was left behind by this cleanup commit:
    https://crrev.com/454bafbfd77ab9b43c388ca56aa8afe27efbb2ae

    Bug: 1449833

* Make adjustments for upstream tests

* [Android] Update version for media3-exoplayer-hls

Updated version to be inline with Chromium's libs.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/6f520b5d0cfd467443278c98224ae1e72903726d

Updating androidx media3 copies to match DoubleDown required versions

DoubleDown is red because we need these updated media3 libraries, which
provide the missing
ax.media3.session.MediaSession$ConnectionResult$AcceptedResultBuilder

Change-Id: I9b5ab41d8ea545929452468d92ef115c8c28980f

* Fix CommanderServiceBrowserTest

There was a refactoring of the AutocompleteController which caused some tests to fail. There were two causes:

A DCHECK that we weren't NotifyListeners wasn't called if the Provider was done in the controller.
OmniboxView->SetText isn't immediately reflected in GetText, so there is a small refactor for making the Provider pass the current text.
There's a weird going on where the ... has a space before it. I think that's fine to address separately, it doesn't look like the string has changed.

* `GetProminent` removed from `MdTextButton`

This function has been removed as `GetStyle` can be used with the same
effect of determining if a button is with prominent style.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/295aa0e71882fbb1fabb5e8f426f1745b88959ff

commit 295aa0e71882fbb1fabb5e8f426f1745b88959ff
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Wed Jan 10 01:28:47 2024 +0000

    Remove [Get/Set]Prominent() in favor of [Get/Set]Style

    Previously, MdTextButton only had 2 styles that could be set with
    SetProminent(). With the addition of a new style, now button style is
    set with SetStyle.

    Therefore, this remove calls GetProminent() and SetProminent() in favor
    of GetStyle() and SetStyle(ButtonStyle::kProminent), as all callers
    were updated.

    Fixed: 1406008

* `OwnedRule` renamed to `Rule`

`UnownedRule` was deleted in upstream, and now `OwnedRule` is merely
`Rule`, with access to `value()` simplified merely to `.value`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/d548a74bc71c5a42db47bc0737c8d17ee957521c

commit d548a74bc71c5a42db47bc0737c8d17ee957521c
Author: Christian Dullweber <dullweber@chromium.org>
Date:   Wed Jan 10 08:44:04 2024 +0000

    ContentSettings: Remove UnownedRule struct

    The UnownedRule struct avoids copying base::Value objects but it
    requires holding a lock. This optimization is not needed anymore when
    copying Values for individual content setting queries gets removed with
    a followup change.
    (See doc linked in bug for details).

    Bug: b/316530672

* [ios] UI `bookmarks` target made reduntant

This target doesn't exist anymore on upstream, and it had some cyclic
reference. The iOS build links as normal without it.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/8732c878384753db20a811084511bb9aae24232d

commit 8732c878384753db20a811084511bb9aae24232d
Author: Sylvain Defresne <sdefresne@chromium.org>
Date:   Wed Jan 10 12:00:45 2024 +0000

    [ios] Resolve circular dependency in //ios/chrome/browser/ui/bookmarks

    Move all the files from //ios/chrome/browser/ui/bookmarks to the
    //ios/chrome/browser/ui/bookmarks/home target to remove circular
    dependencies between the two targets.

    As only //ios/chrome/browser/ui/bookmarks/home was including those
    headers in //ios/chrome/browser/ui/bookmarks, this make sense to
    merge them to the target.

    Fixed: 1409490

* `DetachedWebContents` wrapping contents in a `TabModel`

Access to the `WebContent` instance occurs now through the `tab()`
member.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/773a4e18ae36bff759d1798ba47c7f8c5c19bcb1

commit 773a4e18ae36bff759d1798ba47c7f8c5c19bcb1
Author: Taylor Bergquist <tbergquist@chromium.org>
Date:   Thu Jan 11 00:18:11 2024 +0000

    Make TabModels movable between tabstrips.

    This CL also adds a back reference to the containing TabStripModel,
    which TabStripModel keeps up to date as TabModels are moved in and out.

    Bug: 1476012

* Fix `SyncServiceObserver` mock listed function.

`OnSyncConfigurationCompleted` has been deleted upstream, and this
change corrects our mock for it.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2f144364e1cc5466d14a5914619fe629163b9eda

commit 2f144364e1cc5466d14a5914619fe629163b9eda
Author: Rushan Suleymanov <rushans@google.com>
Date:   Thu Jan 11 14:31:02 2024 +0000

    [Sync] Remove unused OnSyncConfigurationCompleted from observer

    Bug: None

* `CreateThrottles` argument type for resource request changed

This is a simple type change to the function being overriden for an
argument that just gets passed along, and of no consequence for our
codebase.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2455e700019a2766db2b51c19e9ec4616e62b509

commit 2455e700019a2766db2b51c19e9ec4616e62b509
Author: Tsuyoshi Horo <horo@chromium.org>
Date:   Thu Jan 11 01:58:45 2024 +0000

    Use network::ResourceRequest instead of WebURLRequest in ResourceFetcher

    blink::WebURLRequest is used for the argument of
    URLLoaderThrottleProvider::CreateThrottles() method after [1]. But we
    are planing to call this method from the background thread where we
    don't use blink::WebURLRequest [2]. Also we are planing to deprecate
    blink::WebURLRequest, and planing to use network::ResourceRequest
    instead [3].

    So this CL changes the argument type of CreateThrottles() from
    blink::WebURLRequest to network::ResourceRequest.
    A network::ResourceRequest is created in ResourceLoader::Start(). So we
    pass the reference of the structure through ResourceFetcher::
    CreateURLLoader().

    In frames:
      ResourceLoader::Start()
      -> ResourceFetcher::CreateURLLoader()
        -> LoaderFactoryForFrame::CreateURLLoader()
        |-> URLLoaderThrottleProvider::CreateThrottles()
        |-> ServiceWorkerNetworkProviderForFrame::
        |     GetSubresourceLoaderFactory()
        |-> URLLoaderFactory::CreateURLLoader()

    In workers:
      ResourceLoader::Start()
      -> ResourceFetcher::CreateURLLoader()
        -> LoaderFactoryForWorker::CreateURLLoader()
        |-> WebWorkerFetchContext::CreateThrottles()
        | -> WebServiceWorkerFetchContextImpl::CreateThrottles() or
        |    DedicatedOrSharedWorkerFetchContextImpl::CreateThrottles()
        |  -> URLLoaderThrottleProvider::CreateThrottles()
        |-> URLLoaderFactory::CreateURLLoader()

    mojom::blink::RequestContextType in blink::WebURLRequest is checked in
    the code path. But this type member is not in network::ResourceRequest.
    network::ResourceRequest has a network::mojom::RequestDestination
    member. And some of these checks of mojom::blink::RequestContextType can
    be safely converted to network::mojom::RequestDestination without any
    behavior change. But the check in ResourceFetcher::CreateURLLoader()
    needs the mojom::blink::RequestContextType. Also we need to pass
    `service_worker_race_network_request_token` to
    LoaderFactoryForWorker::CreateURLLoader(), and
    `is_from_origin_dirty_style_sheet` flag to
    ServiceWorkerNetworkProviderForFrame::GetSubresourceLoaderFactory().
    So this CL adds these three arguments to CreateURLLoader() methods.

    [1]: https://crrev.com/c/994152
    [2]: https://crrev.com/c/5113665
    [3]: https://groups.google.com/a/chromium.org/forum/#!topic/platform-architecture-dev/ntSzerId4gw

    Bug: 1379780

* `ContentSettingsType` moved into a mojom file

This change moves our extension to that enum to the mojom file that now
is used to generate that enum.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/93a3620ca2272ce0352112ebe0f80e6ccbb4b73f

commit 93a3620ca2272ce0352112ebe0f80e6ccbb4b73f
Author: Kevin Graney <kmg@google.com>
Date:   Fri Jan 12 17:05:20 2024 +0000

    Add a ContentSettingsType enum defined in mojo

    The goal of this change is to migrate the source of truth for the
    ContentSettingsType from a C++ header into mojo.  Generated C++ from the
    mojo definition is exactly the same as the enum in
    content_settings_types.h, and moving the source of truth to mojo lets us
    generate a TypeScript equivalent enum more easily.

    This change also removes the complexity of type conversion with
    `EnumTraits<>`.  Avoiding use of `EnumTraits` is recommended in the
    style guide.
    https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/mojo.md#using-mojo-enums-directly-when-possible

    Generated Java enums are slightly different, unfortunately requiring a
    small change to the type name in every usage.

    Bug: b:317035343

* `PrepopulatedEngine` using `char16_t`

`PrepopulatedEngine` and all other types generated by
`json_to_struct.py` have migrated the use of `wchar_t` to `char16_t`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/d829ce89a08cd89666b1a0d99eb49db458faf200

commit 252f9ac0b9b2eb17a16ccb37e3ea66b7eaf8d5c8
Author: Bryan Nguyen <nguyenbryan@google.com>
Date:   Tue Jan 31 00:05:10 2023 +0000

    [Lens] Add context menu item to translate text in image.

    The context menu item will be displayed only if the page is currently
    being translated. It is also gated behind a feature flag. The functions
    for image search are parameterized to allowing specifying image
    translation, which involves using a different search URL and adding
    URL parameters. Both Lens and third-parties are supported.

    Adds a new enum value in lens::EntryPoint for image translate. Currently
    this is being handled the same as image search (i.e. the same query
    parameters will be sent to Lens) - will update this as a follow-up.

    Adds three new fields to prepopulated_engines_schema.json for
    describing how to populate image translate URLs.

    Design doc: go/lens-chrome-translate-filter

    Cq-Include-Trybots: luci.chrome.try:linux-chromeos-chrome,mac-chrome,linux-chrome,win-chrome,win64-chrome
    Bug: b/265073008

* `navigation_id` being passed through `CreateURLLoaderThrottles`

This is just an extra argument that gets passed along on all brave
implementations.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/eddfce30a3eb10a2897db3ed64caa6b39c6dc400

commit eddfce30a3eb10a2897db3ed64caa6b39c6dc400
Author: Xinghui Lu <xinghuilu@chromium.org>
Date:   Thu Jan 11 19:32:16 2024 +0000

    [AsyncSB] Pass navigation_id into CreateURLLoaderThrottles

    This info will eventually be used to implement
    AsyncCheckTracker::IsMainPageLoadPending[1]. We will add navigation_id
    in security_interstitials::UnsafeResource and use it to determine
    whether DidFinishNavigation has been called and whether we should
    show a post commit error. The navigation_id is needed to map
    UnsafeResource back to the original navigation that triggered this Safe
    Browsing check.

    This CL only bubbles up navigation_id to the embedder layer without
    actual usage. The actual usage will be done in the following sequence:
      1) Inject navigation_id into safe_browsing/ layer:
         https://crrev.com/c/5171128.
      2) Consume the navigation_id in safe_browsing::AsyncCheckTracker:
         https://crrev.com/c/5171302.

    More context in http://shortn/_92fIErC6tC (google only).

    [1] https://source.chromium.org/chromium/chromium/src/+/main:components/safe_browsing/content/browser/async_check_tracker.cc;l=35;drc=e71b6befbb758f58280989b2a83b583a7394fe06

    Bug: 1501194

* IWYU fixes

* Updated `BrowserFrameViewLinuxNative` ctor

This change is of not much consequence to how this code works except
that brave overrides have been updated to match the upstream code.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/a6f88535e9ccda6d38a350be9068dcbc135f80e0

commit a6f88535e9ccda6d38a350be9068dcbc135f80e0
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Fri Jan 12 04:46:32 2024 +0000

    Polish tiled browser window UI on Linux

    When in tiled mode:
    - Don't draw rounded corners
    - Don't draw shadows
    - Increase input region to account for resize borders

    R=sky

    Change-Id: Ifa7e87ae801c96b0176397005bbdd21ee53e0900
    Fixed: 1488638

* `is_direct` removed from `ProxyServer`

It seems to be the case that this can only be tested agains
`ProxyChain`, however following upstream fashion, this check is just
removed.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/deae655274cd6571bf0e2d6c692c471e893f1be1

commit deae655274cd6571bf0e2d6c692c471e893f1be1
Author: Ciara McMullin <ciaramcmullin@google.com>
Date:   Thu Jan 11 16:13:45 2024 +0000

    Remove SCHEME_DIRECT from ProxyServer::Scheme since a direct connection is now specified by an empty ProxyChain.

    Refactor CrosapiSchemeToNetScheme -> ProxyToProxyChain and ProxyDictionaryToProxyServer -> ProxyDictionaryToProxyChain to support direct proxy chains.

    There are no functional changes intended in this CL.

    Bug: 1515118

* [WIP] Adjusting to `URLLoaderThrottleProviderImpl` ctor changes

Chromium change:
https://chromium.googlesource.com/chromium/src/+/f794e224cb310e911e164bd42d5e06ebbe13704f

commit f794e224cb310e911e164bd42d5e06ebbe13704f
Author: Tsuyoshi Horo <horo@chromium.org>
Date:   Mon Jan 15 08:35:25 2024 +0000

    Make IdentityUrlLoaderThrottle work on non-main thread

    Currently IdentityUrlLoaderThrottle is not created by
    URLLoaderThrottleProvider when CreateThrottles() is called on non-main
    thread. So IdentityUrlLoaderThrottle don't work for subresource requests
    from workers. This is not a big issue since login and logout requests
    are rarely sent by workers.

    But it will be a problen when we will call CreateThrottles() of a cloned
    URLLoaderThrottleProvider on the background thread for normal
    subresource requests from frames for BackgroundResourceFetch feature
    (crrev.com/c/5113665).

    So this CL does followings:
    1. Keep the main thread task runner in providers
       (URLLoaderThrottleProviderImpl and
       ShellContentRendererUrlLoaderThrottleProvider).
    2. Make CreateThrottles() method of the providers create
       IdentityUrlLoaderThrottle even when it is called on non-main thread.
    3. In the callback of MaybeCreateIdentityUrlLoaderThrottle, use the
       main thread task runner to call blink::SetIdpSigninStatus() in the
       main thread when the callback is called on non-main thread.

    Low-Coverage-Reason: COVERAGE_UNDERREPORTED
    Bug: 1379780

* [Android] CachedFlag was moved to //base

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/db3e1d9b131df5a2e2a34114a76a0cbafc3c14d5

[Android] Move CachedFlag and CachedFieldTrialParameter to //base

Move all generic flags classes, including CachedFlag, PostNativeFlag,
CachedFieldTrialParameter and subclasses to //base/cached_flags, along
with tests.

Bug: 1442347

* [Android] Site settings fixes

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/93a3620ca2272ce0352112ebe0f80e6ccbb4b73f

Add a ContentSettingsType enum defined in mojo

The goal of this change is to migrate the source of truth for the
ContentSettingsType from a C++ header into mojo.  Generated C++ from the
mojo definition is exactly the same as the enum in
content_settings_types.h, and moving the source of truth to mojo lets us
generate a TypeScript equivalent enum more easily.

This change also removes the complexity of type conversion with
`EnumTraits<>`.  Avoiding use of `EnumTraits` is recommended in the
style guide.
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/mojo.md#using-mojo-enums-directly-when-possible

Generated Java enums are slightly different, unfortunately requiring a
small change to the type name in every usage.

Bug: b:317035343

* Workaround to URLLoaderThrottleProviderImpl passkey requirement by providing
protected static GetPassKey().
Chromium change:
https://chromium.googlesource.com/chromium/src/+/f794e224cb310e911e164bd42d5e06ebbe13704f

commit f794e224cb310e911e164bd42d5e06ebbe13704f
Author: Tsuyoshi Horo <horo@chromium.org>
Date:   Mon Jan 15 08:35:25 2024 +0000

    Make IdentityUrlLoaderThrottle work on non-main thread

    Currently IdentityUrlLoaderThrottle is not created by
    URLLoaderThrottleProvider when CreateThrottles() is called on non-main
    thread. So IdentityUrlLoaderThrottle don't work for subresource requests
    from workers. This is not a big issue since login and logout requests
    are rarely sent by workers.

    But it will be a problen when we will call CreateThrottles() of a cloned
    URLLoaderThrottleProvider on the background thread for normal
    subresource requests from frames for BackgroundResourceFetch feature
    (crrev.com/c/5113665).

    So this CL does followings:
    1. Keep the main thread task runner in providers
       (URLLoaderThrottleProviderImpl and
       ShellContentRendererUrlLoaderThrottleProvider).
    2. Make CreateThrottles() method of the providers create
       IdentityUrlLoaderThrottle even when it is called on non-main thread.
    3. In the callback of MaybeCreateIdentityUrlLoaderThrottle, use the
       main thread task runner to call blink::SetIdpSigninStatus() in the
       main thread when the callback is called on non-main thread.

    Low-Coverage-Reason: COVERAGE_UNDERREPORTED
    Bug: 1379780

* [Android] Fixes for new tab page

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/27c065cfb71a2f61314fbba548b0f5db45c3ac4e

[MagicStack] Add the magic stack to NTP home surface.

In this CL, the magic stack is added to the NTP home surface. Make
NewTabPage implements the ModuleDelegateHost interface. Showing the
magic stack in non-home surface NTP will be done in a follow up CL.
DD: go/magic-stack-on-clank-dd

Bug: 1512962

* Client hints feature flags deleted upstream

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/adee8f40c37577323e95ff918bb56fa6065effee

commit adee8f40c37577323e95ff918bb56fa6065effee
Author: Ari Chivukula <arichiv@chromium.org>
Date:   Tue Jan 16 14:46:55 2024 +0000

    [runtime enabled feature cleanup] Remove ClientHintsMetaEquivDelegateCH

    This has been launched since M98.

    Bug: 1517958

https://chromium.googlesource.com/chromium/src/+/e84e6de7365f8adcd375bdffae409b6cd8e69dc4

commit e84e6de7365f8adcd375bdffae409b6cd8e69dc4
Author: Ari Chivukula <arichiv@chromium.org>
Date:   Tue Jan 16 15:37:09 2024 +0000

    [runtime enabled feature cleanup] Remove ClientHintsMetaHTTPEquivAcceptCH

    This has been launched since M105.

    Bug: 1517958

https://chromium.googlesource.com/chromium/src/+/4ab383b4fb8ec4c6c7f00e79132e68786159e72e

commit 4ab383b4fb8ec4c6c7f00e79132e68786159e72e
Author: Ari Chivukula <arichiv@chromium.org>
Date:   Tue Jan 16 15:43:27 2024 +0000

    [runtime enabled feature cleanup] Remove ClientHintThirdPartyDelegation

    This has been launched since M100.

    Bug: 1517958

* Adjust resource_ids.spec to avoid duplicate resources with upstream

* [Android] New tab page fixes

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7c9217eec9fcf69e01a223e1498ac51a6b3b6305

[Android TRM] Add skeletal files to show empty module.

This CL adds skeletal files to render an empty Tab Resumption Module,
serving as placeholders to be populated with business logic in upcoming
CLs.

The main .java source files follow Clank UI architecture (MVC):
* ...Util.java: Static helpers.
  * Helper to test whether the TRM should be shown. Currently this only
    checks the #enable-tab-resumption-module flag.
  * Helper as main initializer.
* ...Coordinator.java: Owner; public interface of component.
* ...Mediator.java: Business logic;  bridge to other Chrome parts.
* ...View.java: Derives form Android View class, for rendering.
  * Derive from LinearLayout to anticipate row-by-row stacking.
* ...ViewBinder.java: Updates View in response to property changes.
* ...Properties.java: Keys to all properties.
  * Add IS_VISIBLE.

The TRM is shown with title only, and no content.

Also add skeletal unit tests for {Util, Mediator, View}.

Bug: 1515325

* [Android] Tab Switcher Pane Init

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e897a5182ecf608e0a02da5a3b369ee499394768

[Hub] Tab Switcher Pane Init

Glue code to wire up Tab Switcher Panes. With this the flag becomes
"functional" and actually allows using the Hub variant of the tab
switcher. There will likely be bugs.

More integration tests will be added for this in
HubLayoutPublicTransitTest. However, I don't think this breaks any
existing functionality as all non-hub tests continue to pass.

Binary-Size: Enables tab switcher in hub which is an entire feature.
Bug: 1505772

* [Android] Remove getLastUsedRegularProfile from FeedFeatures

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/0847e3aa71c826bd0a23bfa80fd79539744c84bb

Remove getLastUsedRegularProfile from FeedFeatures.

Bug: 1410601

* [Android] Fixes for Widevine permission request

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/00aea98302114c41e40f5ce542c7e26640757348

Remove language structure assumptions in bolding logic.

Previously, origin bolding happened by identifying the first space character and making all characters up to that location bold. This means the first word is boldened. This assumption is incorrect, as in some languages the first word is not the origin.

Low coverage due to moving of untested code (Clank prompt creation for SA).

Low-Coverage-Reason: OTHER
Bug: 1512613

* Reinstate Keystone support

We need to reinstate some of the Keystone support files, as we hook into some of
that infrastructure for Sparkle.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7e25bd3b8073a10aa8db64195e5a666227886bf2

commit 7e25bd3b8073a10aa8db64195e5a666227886bf2
Author: Joshua Pawlicki <waffles@chromium.org>
Date:   Thu Jan 11 15:43:19 2024 +0000

    Remove Keystone from Chrome.

    While doing this, some issues with brand code handling were discovered.
    The code in brand_code does not align with the code in
    keystone_installer, which results in the two not correctly
    communicating the brand code in some cases. I've standardized the
    behavior on what is in keystone_installer, because I think that's the
    least disruptive. In practice, it's a marginal issue anyways.

    Fixed: 1504587, 1498732

* Do not replace "powered by Google AI" in strings files

* Use `SearchEngineChoiceService`

`SearchEngineChoiceService` is now passed to functions related to search
engine components. This requires updates to calls for
`GetPrepopulatedEngine` and similar functions.

This change corrects our own overrides to take into account the choice
service instance when returning values, and also corrects different
tests to pass the instance when calling these functions.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2b77815a114063c715991c42702286383307116b

commit 2b77815a114063c715991c42702286383307116b
Author: Boris Sazonov <bsazonov@chromium.org>
Date:   Wed Jan 17 15:35:04 2024 +0000

    🧇 Create SearchEngineChoiceService

    Moves a large chunk of methods from search_engine_choice_utils.h into
    a newly created SearchEngineChoiceService which is a KeyedService.
    No behavior changes.

    Low-Coverage-Reason: LARGE_SCALE_REFACTOR
    Bug: b/318801987

* Privacy sandbox `SetupTestState` deleted

Chromium change:
https://chromium.googlesource.com/chromium/src/+/5c34326a2d8c69d3674e2386d742b5217b6b6937

commit 5c34326a2d8c69d3674e2386d742b5217b6b6937
Author: Mariam Ali <alimariam@google.com>
Date:   Wed Jan 17 08:01:58 2024 +0000

    Privacy Sandbox GA Cleanup: Deprecate trials test setup method

    This CL removes the old privacy sandbox trials setup method. Some tests
    were affected by this change including the attribution reporting debug
    mode test. Setting the cookie exception manually caused the test to fail
    due to feature enabled states overlapping. The CL introduced a new test
    suite to parameterise the test instead of a loop to ensure the overlap
    doesn't happen.

    Bug: 1442226

* `RenderViewHost` getter removed from `RenderViewContextMenuProxy`

This change is of no effect to brave, as it only affects the stub of a
mock returning a nullptr.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/3fd0e9663bec4f2e83f6313d36e33acbb190ca7b

Author: Ian Vollick <vollick@chromium.org>
Date:   Thu Dec 14 21:51:51 2023 +0000

    Avoid use of RenderViewHost in RenderViewContextMenu

    With this change, we switch callers to getting a RFH (either for the
    appropriate subframe or the primary main frame of the associated web
    contents) as suggested by mcnee@.

    Bug: 1129073,1393234

* [ios] Skia `SkMasks.cc` moved to skia core

With this file being moved into skia core target, it is not necessary
anymore for it to be included as part of a custom target for svg
rendering.

Chromium change:
https://skia.googlesource.com/skia/+/02e94b3b4d2972cca594302825e635f1879c7bd8

commit 02e94b3b4d2972cca594302825e635f1879c7bd8
Author: Kevin Lubick <kjlubick@google.com>
Date:   Mon Jan 15 10:58:04 2024 -0500

    Move SkMasks from src/codec to src/core

    These are also used by some text code.

    Change-Id: Ia7cffc52791a5c9a7477f2215eae9218dd75d75c
    Bug: b/40045064

* Moving DNS P3A metrics to new path

A large part of `HostResolver` was moved to `HostResolverManager::Job`,
and therefore brave's override for metrics had to be moved accordingly.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/d7f6d7306d7cf1050cc51997712a9bc45ed9d9dc

commit d7f6d7306d7cf1050cc51997712a9bc45ed9d9dc
Author: Kenichi Ishibashi <bashi@chromium.org>
Date:   Wed Jan 17 05:20:43 2024 +0000

    Move HostResolverManager::{Job,RequestImpl} into separate files

    Bug: chromium:1518698

* Refactor `GetCookieSettingInternal` override

Chromium change:
https://chromium.googlesource.com/chromium/src/+/eedd954c3e4fac0925f7ac3542e1eedeec27de3f

commit eedd954c3e4fac0925f7ac3542e1eedeec27de3f
Author: Dan McArdle <dmcardle@chromium.org>
Date:   Thu Jan 18 18:29:47 2024 +0000

    Refactor CookieSettingsBase::GetCookieSettingInternal()

    I found the original implementation difficult to reason about, I think
    primarily due to not really understanding the `block_third` variable.
    There's also some repetitive checking of conditions that are variations
    on `block_third` and `IsAllowed(setting)`. I found these confusing
    because `IsAllowed(setting)` is a part of the conjunction that defines
    `block_third`'s original value! Finally, I found it difficult to reason
    about whether the return value wants to allow or block cookies, since
    it's defined in terms of variables, some of which may have been mutated
    during the course of the function.

    This CL addresses these sticking points by untangling the logic and
    moving it into a helper function. The helper function is a sequence of
    branches, each of which returns a clearly-labeled value. The helper
    function returns absl::variant<AllowAllCookies, AllowPartitionedCookies,
    BlockAllCookies>. The goal is that the reader can clearly see the intent
    in lines like `return BlockAllCookies{};`.

    Bug: 1519246

* `WDKeywordsResult` field configuration changed

This structure is now encapsulating the field being used during test
into another substructure for metadata.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/354c10a535404c945f3471a3f4b8f6cd7c59e743

commit 354c10a535404c945f3471a3f4b8f6cd7c59e743
Author: Nicolas Dossou-Gbete <dgn@chromium.org>
Date:   Mon Jan 22 11:18:37 2024 +0000

    🧇 Add country and milestone as keyword DB remerge triggers

    Adds new metadata associated with the built-in keywords to the
    search engines database: the country for which we loaded the
    prepopulated search engines, and the Chrome milestone when that
    happened.

    This metadata field is updated every time we change the built-in
    keyword data on load, but it might trigger re-merges only in
    certain cases (e.g. related to the search engine choice feature
    state, or the profile being in the EEA).

    Bug: b:320461832
    Fixed: b:310615953

* Search provider returning metadata info through a struct

Version-related arguments for `GetSearchProvidersUsingKeywordResult` have
been reworked into a metadata struct where they can be packed together
and returned.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/af259e78c21772187c108a30d33183831dca7299

commit af259e78c21772187c108a30d33183831dca7299
Author: Nicolas Dossou-Gbete <dgn@chromium.org>
Date:   Fri Jan 19 20:53:55 2024 +0000

    🧇 Refactor search engine DB remerge trigger

    Prepares for adding new criteria that can trigger template
    urls to be re-merged, besides the data version. No behaviour
    change is expected with this CL.

    Bug: b:320461832

* `SetWebsiteSetting` requires a `PartitionKey`

The partition key can be passed along on the use being corrected in
code.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/6b0340a666e1d0e8f937581efe7e2f7f055f9514

commit 6b0340a666e1d0e8f937581efe7e2f7f055f9514
Author: Jason Lin <lxj@google.com>
Date:   Fri Jan 19 07:31:56 2024 +0000

    Support partitioning in content_settings::PrefProvider

    Bug: b/307193732

* `content_settings::Observer` requires a `PartitionKey`

For the existing use of this observer, a partition key is not being
provided as it doesn't seem to be necessary for our use-case.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/91c4ae13d96bf74dcefd4653a5e8a2b8dabffcbb

commit 91c4ae13d96bf74dcefd4653a5e8a2b8dabffcbb
Author: Jason Lin <lxj@google.com>
Date:   Mon Jan 22 11:26:56 2024 +0000

    Update content_settings::Observer to include PartitionKey

    Bug: b/307193732

* `OriginIdentifierValueMap` renamed

This class has been renamed to `OriginValueMap`, and with nothing more
as a consequence.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2575796a49e9d212dde1cb4b6c7cf4d591d5ab4b

commit 2575796a49e9d212dde1cb4b6c7cf4d591d5ab4b
Author: Jason Lin <lxj@google.com>
Date:   Mon Jan 22 01:37:27 2024 +0000

    Remove "Identifier" from the name [Partitioned]OriginIdentifierValueMap

    Change-Id: I56de10833dfd1add5a852c227be25328567d7da2

* [Android] Remove getLastUsedRegularProfile from UpdateMenuItemHelper

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/26ca76247ab0d8c08cf65894f1686dabe8dd6e08

Remove getLastUsedRegularProfile from UpdateMenuItemHelper.

This converts the singleton instance to a Profile-keyed
class.

This also renames shouldShowUpdateBadge to canShowUpdateBadge
as this was confusing during reading. When reading, should
(to me) implied that the item was to be displayed if true,
but it is only shown based on other criteria like being out
of date. Thus, "can" more clearly read to me that the update
badge is allowed to be shown if other conditions are met.

Bug: 1410601

* OriginalFunctions is now a struct

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/fba4ed89eb65b0253df6945882033ed83376b20f

commit fba4ed89eb65b0253df6945882033ed83376b20f
Author: Ben Bamesberger <benb@microsoft.com>
Date:   Mon Jan 22 21:10:39 2024 +0000

    Windows sandbox: Split TransferVariable address param into local and
    remote parts

    This change enables concurrent use of TransferVariable by splitting the
    address param into local and target parts. This allows the broker to
    copy data from a local variable instead of from the global variable.
    This works because the broker only needs the address of a global
    variable in its own process for determining the corresponding address
    in the target, and so it is not required for any data to be set in the
    broker-side global before copying.

    Bug: 1499551

* Add Partitioned preferences to our prefs database

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/dbee17533eef6107c1748022f65473e360bd5225

commit dbee17533eef6107c1748022f65473e360bd5225
Author: Jason Lin <lxj@google.com>
Date:   Mon Jan 15 01:21:45 2024 +0000

    Add partitioned_pref_name to content_settings::WebsiteSettingsInfo

    Bug: b/307193732

* [Android] Changes for NotificationPlatformBridge

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7326bef93bc8fffffa63ea8abd5e93df5a0bd89c

Simplify NotificationPlatformBridge.

This CL simplifies the NotificationPlatformBridge implementation by
removing unused arguments, and by introducing a nested class to
group common notification arguments identifying a notification and
its source.

The method `buildNotificationWrapper` is also de-coupled from the
logic to `appendSiteSettingsButton`, and `prepareNotificationBuilder`
is decoupled from adding content/delete handlers. There are some small
mechanical changes.

All changes should be no-ops functionally.

Bug: 1519634

* Fixed SpeedReaderBrowserTest.RestoreSpeedreaderPage.

* [Android] Added androidx libs removed in the upsteam

We still use them in Playlist feature.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/d24bc8a78dd9693535015d51d1b988df187050f3

Revert "Roll androidx from BW2v6j8vjcVQrdX9f... to -Pfe65blElulocPye..."

This reverts commit 9e9356de1e0197b484ce65f334a876e9f7e58a4a.

Reason for revert: Suspected cause of build failures: crbug.com/1519713

Original change's description:
> Roll androidx from BW2v6j8vjcVQrdX9f... to -Pfe65blElulocPye...
>
> If this roll has caused a breakage, revert this CL and stop the roller
> using the controls here:
> https://autoroll.skia.org/r/androidx-chromium
> Please CC clank-build@google.com,clank-library-failures@google.com,wnwen@google.com on the revert to ensure that a human
> is aware of the problem.
>
> To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
>
> To report a problem with the AutoRoller itself, please file a bug:
> https://issues.skia.org/issues/new?component=1389291&template=1850622
>
> Documentation for the AutoRoller is here:
> https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
>
> Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel
> Tbr: clank-library-failures@google.com
> Change-Id: Ib7a26c2fd4ebba2f48fd9c31c4c11452ff7faea2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5214668
> Bot-Commit: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
> Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#1249129}

Change-Id: Ie7df335864ed868400610efb744071a9abbc1df2
Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1519713

* [Android] New pref in safety check settings

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/004b0920380576bd04e12e8f4a37d5af106bc158

[UPMLocalSettings] Introduce the UI for the second password check

This CL introduces a new password check preference into
safety_check_preferences.xml. When there will be split stores, one
preference will be used to display the result of the password check in
the local password storage, another - for the account password storage.
SafetyCheckSettings fragment also has the logic to set visibility of the
local and account tied preferences depending on whether the appropriate
password storage is available.

Bug: b/306670833

* Remove overrides for `BindStorageArea`

These functions have been overriden to allow the use of
`GetEphemeralStorageKeyOrStorageKey` when required. However, with recent
changes to `BindStorageArea`, it seems more approppriate to patch the
caller for that. A patching has been added accordingly.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/901a0c44c13aea9a6a3cdbc19f06df14f86bd436

commit 901a0c44c13aea9a6a3cdbc19f06df14f86bd436
Author: Ari Chivukula <arichiv@chromium.org>
Date:   Tue Jan 9 20:13:03 2024 +0000

    [SAA] Fix Session/Local Storage Binding for Handle

    An external developer reported a bug:
    https://github.com/arichiv/saa-non-cookie-storage/issues/11
    where the local/session storage area bound to the handle would be the
    partitioned one instead of the unpartitioned one. This happened when the
    unpartitioned handle wasn't already in the renderer-side cache, so was
    traced to an error in the binding code. This fix should resolve the
    issue, but won't be merged back into M121 as it's not an urgent
    vulnerability. Once in trunk, an email alerting developers to a fix in
    M122 will be made on the I2E blink-dev thread.

    Note that the scope of bindings allowed is already secured on the
    browser side so this does not impact IPC security:
    https://source.chromium.org/chromium/chromium/src/+/main:content/browser/dom_storage/dom_storage_context_wrapper.cc;drc=23a4e772ead0273151c4e8412cdf084797fd3935;l=289

    Bug: 1484966

* Extract PDF content from pdf region because status subtree under pdf
root now contains static text.

chromium change:
https://chromium.googlesource.com/chromium/src/+/e7b77d864a20bc6f294eb69762059c17a9312d44

commit e7b77d864a20bc6f294eb69762059c17a9312d44
Author: Ramin Halavati <rhalavati@chromium.org>
Date:   Thu Jan 18 09:24:21 2024 +0000

    Add static text node to PDF OCR status node.

    A StaticText node is added to the Status node of PDF OCR, so that it
    would be considered as a rendered node in node ordering comparisons.

    Bug: 1443341
    Change-Id: I5e7a6e619f219c09a48eb4371c51f234d181d167
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5182920
    Reviewed-by: Lei Zhang <thestig@chromium.org>
    Reviewed-by: David Tseng <dtseng@chromium.org>
    Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1248647}

* Argument added to `PermissionRequest` ctor

This constructor is now receiving an automatic embargo argument, that
has to be passed along by our own override.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/b333180137a5f4a691972d63cd14c9df9d692086

commit cf64328f5a321cdf68eed8bac9d4bd13f57ce581
Author: Helmut Januschka <helmut@januschka.com>
Date:   Thu Jan 25 12:46:33 2024 +0000

    runloop: finalize refactor of Quit*Deprecated() RunLoop usage

    Bug: 922118

* Adjust unit test to account for changes to kSearchEngineChoiceTrigger feature flag

This flag is disabled on Windows and enabled on Mac/Linux, but will eventually
be enabled on all three.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7f209e568a1c3a2829ad6309dd3228e70f85239f

commit 7f209e568a1c3a2829ad6309dd3228e70f85239f
Author: Nicolas Dossou-Gbete <dgn@chromium.org>
Date:   Mon Jan 22 16:33:07 2024 +0000

    🧇 Enable the feature by default on macOS,Linux,ChromeOS

    Per rollout plan, the other platforms will be toggled separately.
    See http://shortn/_fHkGG8hPkU

    Bug: b:315126434

* Disable features flagged by privacy/security team

* `kUserAgentClientHint` deleted upstream

Chromium change:
https://chromium.googlesource.com/chromium/src/+/7cb768195fc3a89fa618fec85e2d1b0dbd4e3c42

commit 7cb768195fc3a89fa618fec85e2d1b0dbd4e3c42
Author: Victor Tan <victortan@google.com>
Date:   Fri Jan 19 22:53:24 2024 +0000

    Remove UserAgentClientHint feature flag

    The Client hints feature has been rolled out in all platforms.

    Change-Id: Ib1d3cdeccf34dc57211627278cf7485beade137d
    Bug: 1518844

* [ios] Need to ensure that SessionRestorationServiceFactory is started

* Remove IS_PERMISSIONS_COMMON_IMPL definition to avoid triggering DCHECK when overriding features

Upstream changed permissions_common to be a source_set (used to be a component).
That change triggered a DCHECK in our feature override code that looks for
features that were already overridden. Will follow up with upstream folks to get
this patch submitted there.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e8ee9a2058c029e1fa9f5c8b1bfc32aed1e7ec04

commit e8ee9a2058c029e1fa9f5c8b1bfc32aed1e7ec04
Author: Adrian Taylor <adetaylor@chromium.org>
Date:   Mon Jan 22 13:21:55 2024 +0000

    Make permissions_common a source_set.

    This was previously impossible but it would be great to try it again
    because it will solve some issues with a problematic fuzzing framework.

    Bug: 1327384, 1519605

* Temporarily disable PGO phase on Android due to upstream experiment

* [Android] Moves monochrome_public_apk from 32-bit primary to 64-bit primary

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/8f211ca26a664bf7f7a547140e98eb3fe7b45a80

Change telemetry monochrome to be 64-bit primary

This also moves monochrome_public_apk from 32-bit primary to 64-bit
primary. We do this in the same CL to avoid making a new monochrome
target for telemetry.

Bug: 1479998

* fixup! [Android] Minor code adjustments to the C122 upstream changes

* Ignore scons-out directory when checking licenses

---------

Co-authored-by: Claudio DeSouza <cdesouza@brave.com>
Co-authored-by: Artem Samoilenko <artem@brave.com>
Co-authored-by: mkarolin <max@brave.com>
Co-authored-by: Jay Harris <jay.harris@outlook.co.nz>
Co-authored-by: Anthony Tseng <darkdh@gmail.com>
Co-authored-by: boocmp <boocmp@yandex.ru>
2024-02-09 18:21:54 -05:00
Aleksey Khoroshilov 34ac7295c9 Fix update_release_changelog.py. 2024-01-18 18:04:24 +07:00
Aleksey Khoroshilov 17d303e4cf Fix Github uplift. 2024-01-12 19:17:56 +07:00
bridiver a2d89db9f6 add re back to github.py 2024-01-12 14:24:57 +07:00
bridiver 2943d698d2 add missing copyright 2024-01-12 14:24:57 +07:00
bridiver b1140716ff remove more usages of requests lib 2024-01-12 14:24:57 +07:00
bridiver 0b5d86a10b cleanup 2024-01-12 14:24:56 +07:00
bridiver 866449ed8d remove unused imports 2024-01-12 14:24:56 +07:00
bridiver ad45e40460 remove unused code 2024-01-12 14:24:56 +07:00
bridiver 991b937c0d remove requests 2024-01-12 14:24:56 +07:00
bridiver d4ab4e3184 cleanup bootstrap 2024-01-12 14:24:56 +07:00
Aleksey Khoroshilov 97a5f35253 Always use "brave" as branding_path_product, fix strings generation.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/79ca9265d25f26dd9dc3c8fad2a72241054e14ae

commit 79ca9265d25f26dd9dc3c8fad2a72241054e14ae
Author: Henrique Ferreiro <hferreiro@igalia.com>
Date:   Wed Aug 23 10:17:33 2023 +0000

    Simplify the build for branded strings

    Branded strings are defined in *chromium_strings.grd and
    *google_chrome_strings.grd files. Both kind of files contain different
    messages for the same ids. Those ids are compiled into generated header
    files by their corresponding targets. Both the targets and the header
    files are named differently, similarly to the grd files. This requires
    that the correct target and header file is used depending on the build
    but, in practice, most code sites just depend on both targets and
    include both header files.

    This CL merges those targets so that from now on only the chromium
    version is used (e.g.
    //chrome/app:chromium_strings and chrome/grit/chromium_strings.h,
    //components/strings/component_chromium_strings and
    components/strings/grit/components_chromium_strings.h, etc.). The
    targets are parameterized by `branding_path_product` so that the correct
    grd and pak filenames are used.

    Future CLs will change the targets and generated files to be named
    *branded_strings.

    Bug: 1470725
2023-09-27 13:08:20 +03:00
Ahmed Kamal be50933b3e Fix formatting of python scripts (#19623)
* temp

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>

* trivial change to trigger lint

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>

* Apply fixes

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>

* Revert "temp"

This reverts commit 9724d3bc66cdf8082cb62f7ee79923507fdbba47.

* Revert "trivial change to trigger lint"

This reverts commit 5417ce862b7a0f381b9dd3ed81c8a44b06f36b54.

* The big fmt

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>

* Improve regex, please sonarcloud

Group parts of the regex together to make
the operator precedence explicit

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>

---------

Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>
2023-08-09 12:40:12 +01:00
Mihai PLESA 1ccc9522a6 remove brave github token (#19536) 2023-08-07 08:36:41 -04:00
Michael Herrmann 5dc3dcc00b Update Widevine signature_generator to Python 3 (#19437) 2023-07-27 23:55:10 +09:00
Mihai PLESA 66c4fac1d6 Revert "Update Widevine signature_generator to Python 3" (#19419)
Revert "Update Widevine signature_generator to Python 3 (#18636)"

This reverts commit 2e124e822f.
2023-07-25 13:00:33 -04:00
Michael Herrmann 2e124e822f Update Widevine signature_generator to Python 3 (#18636)
* Update Widevine signature_generator to Python 3

* Fix missing dependency 'macholib' on macOS

* Add missing license for macholib

* Fix Widevine signature generation on macOS

* Add third_party/macholib/ to .gitignore

* Fix lint errors

* Simplify code

* Add comment

* Lint

* Simplify code

* Only include DEP macholib on macOS

* Fix build error

* Remove obsolete import

* Reference more stable dep license file

* Remove wrong line of code

* Remove unnecessary comment

* Remove obsolete workaround

* Revert "Remove obsolete workaround"

This reverts commit 0c1b736ed7bc02449e6dd2d49b5985c829df85b6.

* Update comment

* Fix Android build

* Fix Android build

* Fix broken init on Windows

* Remove obsolete workaround
2023-07-25 11:56:06 -04:00
mkarolin fcde02393a [Android] Adds l10n for android_chrome_tab_ui_strings.grd. 2023-06-20 16:18:21 -04:00