* 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>