This is a second pass after commit fe9b3d9e36 to finally migrate away
from this deprecated methods, which required changing the signature
of some methods to avoid replacing use of base::Value::[Const]ListView
with the new types instead (e.g. base::Value::List).
[1] https://github.com/brave/brave-core/commit/fe9b3d9e36
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/60e6b2d9538d743e7aaac58f46e996e6031b8a86
commit 60e6b2d9538d743e7aaac58f46e996e6031b8a86
Author: Daniel Cheng <dcheng@chromium.org>
Date: Sat Feb 5 01:08:46 2022 +0000
base::Value: Remove GetList(), TakeList(), and TakeDict().
Also remove (a lot of) new uses of GetList() that crept in. There is
also one use of GetList() in a third-party code generator that was
missed in previous iterations. Since the file is checked directly into
Chrome, the usage is removed in this CL, but upstream will need to be
updated before the next roll.
Bug: 1291666, 1294416
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7af9b25ea15c99177eeb7e1286c2bef002c70440
commit 7af9b25ea15c99177eeb7e1286c2bef002c70440
Author: sauski <sauski@google.com>
Date: Tue Feb 1 09:59:45 2022 +0000
Privacy Sandbox Settings: Introduce new un-synced primary preference
This CL introduces V2 of the PrivacySandboxApisEnabled preference, which
will replace the initial version as the primary control for Privacy
Sandbox APIs.
A migration is required as post Kartoffel release 3, the primary
control will not be synced across devices. The new pref will be init
appropriately during the confirmation moment of Kartoffel 3, and so
is default off.
All locations that consult or set the V1 preference have been updated
to consult the new pref as required. The exception is the FLoC
generated preference, which as FLoC has been discontinued will be
removed and does not need to be updated.
The PrivacySandboxSettings unit tests have been parameterized based
on the value of the feature, with test utils updated to only set the
appropriate pref.
Bug: 1286276
Chromium changes:
https://source.chromium.org/chromium/chromium/src/+/5f94831af245a25e570c1baf2846200c08f18033
commit 5f94831af245a25e570c1baf2846200c08f18033
Author: Benjamin M. Schwartz <bemasc@chromium.org>
Date: Wed Feb 16 15:37:37 2022 +0000
Use DnsOverHttpsConfig where appropriate
This replaces most instances of
std::vector<net::DnsOverHttpsServerConfig> with DnsOverHttpsConfig.
This simplifies code that handles these collections as unitary objects.
This change has no effect on behavior.
BUG=1200908
The feature flag is gone and the call to CreateManageDevicesLink is now
unconditionally run, so we need to early return to avoid it.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/d243ec32d8bff417719474afe7fab15b79602d61
commit d243ec32d8bff417719474afe7fab15b79602d61
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date: Wed Feb 16 02:30:56 2022 +0000
Clean up SendTabToSelfWhenSignedIn feature toggles
Delete kSendTabToSelfWhenSignedIn and kSendTabToSelfManageDevicesLink
(already enabled by default).
This unblocks simplifications in the send-tab-to-self Android code. The
device picker UI now never has button to settings, so we can delete the
SettingsLauncher plumbing and deprecate related metrics.
We also find a test in ShareRegistrationCoordinatorTest that was
conditioned to kSendTabToSelfWhenSignedIn disabled for no justifiable
reason. The test still passes with the feature enabled, so it's kept.
Bug: 1295211
With this feature enabled, profiles are destroyed on browser close instead of on
browser exit. This means that when ClearOnExit() calls GetLoadedProfiles(), no
profiles are returned and thus no data is cleared.
For now, let's disable this feature. In the future, we will need to investigate
an alternative approach here.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/86c7dc91ccf31eff5576b8f2ee092734fab523aa
commit 86c7dc91ccf31eff5576b8f2ee092734fab523aa
Author: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
Date: Tue Feb 8 21:05:06 2022 +0000
[Profiles] Enable DestroyProfileOnBrowserClose by default
DestroyProfileOnBrowserClose has been enabled at 50% Stable for a bit,
so the next logical step is to enable it by default.
Make DestroyProfileOnBrowserClose ENABLED_BY_DEFAULT. This will mostly
affect Chrome-branded builds with Variations disabled, since Chromium
builds have been on-by-default for many months (via
fieldtrial_testing_config.json). Other Chromium-based browsers may also
be affected, depending on whether they respect
fieldtrial_testing_config.json.
This only affects Windows, Mac, and Desktop Linux. Lacros is
deliberately left out, since this flag isn't ready yet.
Bug: 88586
Chromium update:
https://source.chromium.org/chromium/chromium/src/+/769424beca1206977d2b03641c3bc7ac76108fa5
commit 769424beca1206977d2b03641c3bc7ac76108fa5
Author: Michael Chang <donchan@microsoft.com>
Date: Tue Jan 25 01:48:28 2022 +0000
Add connection between browser and ChromiumUpdater system level helper
For installing a system level updater on Mac for the ChromiumUpdater,
there was a need to create a helper executable that will be installed to
the PrivilegedHelpers folder. To install it, an SMJobBless call was
was necessary. After the SMJobBless call completes, an XPC connection
will be made with the with the privileged helper to perform a system
level installation.
Bug: 1236770
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9fa241487539f91407c6a73e07406e54b5c36956
commit 9fa241487539f91407c6a73e07406e54b5c36956
Author: Juba Borgohain <chromiumjuba@gmail.com>
Date: Fri Feb 4 18:25:42 2022 +0000
Update CookieAccessResult to include WARN status
When a cookie is created and it includes a WARN_*
CookieInclusionStatus, the status is not passed along when setting
the cookie. This impacts what messages show up in devtools issues.
These changes make it possible to show a message in devtools issues
for a cookie that has a WARN_* status.
Bug: 1254192
This change is adapting to the removal of FLoC. There's still some work to do
here and we should verify that we're still testing everything that needs to be
tested.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9255aecd4114c0b3da4016f641316367112adb53
commit 9255aecd4114c0b3da4016f641316367112adb53
Author: Yao Xiao <yaoxia@chromium.org>
Date: Sat Feb 5 00:02:19 2022 +0000
Remove FLoC code
- Remove the obsolete FLoC code.
- Add the prefs deprecation/migration logic in browser_prefs.cc.
Bug: 1292169
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/60e6b2d9538d743e7aaac58f46e996e6031b8a86
commit 60e6b2d9538d743e7aaac58f46e996e6031b8a86
Author: Daniel Cheng <dcheng@chromium.org>
Date: Sat Feb 5 01:08:46 2022 +0000
base::Value: Remove GetList(), TakeList(), and TakeDict().
Also remove (a lot of) new uses of GetList() that crept in. There is
also one use of GetList() in a third-party code generator that was
missed in previous iterations. Since the file is checked directly into
Chrome, the usage is removed in this CL, but upstream will need to be
updated before the next roll.
Bug: 1291666, 1294416
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/ffae4e2a807168114e4d2013a855f68d31a36505
commit ffae4e2a807168114e4d2013a855f68d31a36505
Author: sauski <sauski@google.com>
Date: Tue Jan 25 20:22:43 2022 +0000
Privacy Sandbox Settings: Expose FLEDGE interest group joining origins
At a high level this CL makes the list of eTLD + 1s on which the user
was joined to a FLEDGE interest group accessible to Chrome UI code.
It does this in three parts:
1) Moves the definition of required parts of the existing
InterestGroupManager into content/public/browser.
2) Renames the existing InterestGroupManager to be an Impl version,
inheriting from the public interface version.
3) Creates function on the PrivacySandboxService to transform the
provided list of origins into eTLD+1s for display to the user
Part 2 above results in the bulk of file changes, which are simply
mechanical changes to refer InterestGroupManagerImpl as appropriate.
Bug: 1286276
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7af9b25ea15c99177eeb7e1286c2bef002c70440
commit 7af9b25ea15c99177eeb7e1286c2bef002c70440
Author: sauski <sauski@google.com>
Date: Tue Feb 1 09:59:45 2022 +0000
Privacy Sandbox Settings: Introduce new un-synced primary preference
This CL introduces V2 of the PrivacySandboxApisEnabled preference, which
will replace the initial version as the primary control for Privacy
Sandbox APIs.
A migration is required as post Kartoffel release 3, the primary
control will not be synced across devices. The new pref will be init
appropriately during the confirmation moment of Kartoffel 3, and so
is default off.
All locations that consult or set the V1 preference have been updated
to consult the new pref as required. The exception is the FLoC
generated preference, which as FLoC has been discontinued will be
removed and does not need to be updated.
The PrivacySandboxSettings unit tests have been parameterized based
on the value of the feature, with test utils updated to only set the
appropriate pref.
Bug: 1286276
On first_run_dialog.cc we actually do a small hack to avoid having to
patch or fully-override the header file just to add [[maybe_unused]].
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/44d8af458bb86ca8477493cef5bc9d1ed12a8f40
commit 44d8af458bb86ca8477493cef5bc9d1ed12a8f40
Author: Avi Drissman <avi@chromium.org>
Date: Tue Jan 25 19:08:20 2022 +0000
Remove ALLOW_UNUSED macros
This removes ALLOW_UNUSED_LOCAL, ALLOW_UNUSED_TYPE, and
ANALYZER_ALLOW_UNUSED.
Bug: 1286390
Neither the //brave/components/brave_component_updater/browser nor the
//brave/components/content_settings/core/common targets include sources
that actually depend on //extensions/common or //brave/extensions:common,
so we can simply drop those dependencies and avoid a build failure at the
time of processing GN files now that it's not allowed for //components to
depend on //extensions (either directly or indirectly).
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/b4ca4d85fb53aa2e5cd5291a54ffab7b76393c93
commit b4ca4d85fb53aa2e5cd5291a54ffab7b76393c93
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Jan 25 03:16:15 2022 +0000
[Extensions] (Mostly) Don't allow //components to depend on //extensions
Most //extensions targets are linked with //chrome and are static
source_sets. Thus, any components depending on them result in duplicate
code and, worse, improper singleton behavior.
Prevent //components from depending on any //extensions targets except
//extensions/common:common_constants (which is component friendly) and
//extensions/buildflags.
Bug: 1289287
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/8015afcf8e3730c33a518bed3e7c31ba77d5a814
commit 8015afcf8e3730c33a518bed3e7c31ba77d5a814
Author: Alex Moshchuk <alexmos@chromium.org>
Date: Mon Jan 31 22:59:25 2022 +0000
Remove StoragePartitionId.
(original CL by acolwell@, rebased and submitted by alexmos@)
This is the final patch in the series to migrate the
NavigationControllerImpl::session_storage_namespace_map_ to use a
StoragePartitionConfig instead of a partition ID string. It removes the
StoragePartitionId class and updates all the existing usage to
StoragePartitionConfig. This should not introduce user visible behavior
changes because the current StoragePartitionId implementation is
essentially a wrapper around a StoragePartitionConfig. That change was
made in https://crrev.com/c/2808670, which has reached stable in M93
and raised no issues.
- Removes the StoragePartitionId object and replace usage with
StoragePartitionConfig.
- Removed NavigationControllerImpl::partition_config_to_id_map_ since
it is no longer needed.
- Removed SiteInfo usage from RenderViewHostImpl now that we only
need a StoragePartitionConfig to get the SessionStorageNamespace.
- Added GetStoragePartitionConfig() method to SiteInstance to make
it easier to get the StoragePartitionConfig for a SiteInstance.
This will also make it easier to remove GetSiteURL() usage related
to storage partitions in followup CLs.
- Removed SiteInstanceImpl::GetSiteInfoForRenderViewHost() and
move code that enabled storage partition verification to the new
GetStoragePartitionConfig() method.
Bug: 1166021
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/aaf851234a576b844c0b5a30fe218edb93b00569
commit aaf851234a576b844c0b5a30fe218edb93b00569
Author: Benjamin M. Schwartz <bemasc@chromium.org>
Date: Wed Jan 26 21:13:03 2022 +0000
Move DoH template group parsing to a new class
Currently, the string representation of a DoH configuration is a
whitespace-separated list of URI templates. The knowledge of this
string format is distributed between net/ and chrome/browser/net. This
makes the format difficult to evolve. To enable a richer syntax for
the configuration string, this CL collects all string-handling into a
new class, DnsOverHttpsConfig, which represents a list of URI templates.
This is the first in a series of CLs related to this reorganization.
Followup CLs will replace all `vector<DnsOverHttpsServerConfig>` with
`DnsOverHttpsConfig`, simplifying the browser's concept model.
BUG=1200908
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/f27f7ff938a4858ad57289f11c39c34bbf1f4ee1
commit f27f7ff938a4858ad57289f11c39c34bbf1f4ee1
Author: evliu <evliu@google.com>
Date: Tue Jan 25 21:15:24 2022 +0000
Enable tab muting behind a flag
This CL reimplements the tab muting feature that was previously removed
in 2018. This implementation follows the original UX proposal of making
the existing tab alert indicator into a clickable button but removes the
hover and double click behavior.
Bug: 1250848
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/fde2db9853cab5681586ea71d877f4cefd5eee13
commit fde2db9853cab5681586ea71d877f4cefd5eee13
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Mon Nov 22 16:16:02 2021 +0000
heap: Replace heap.h include with garbage_collected.h in **/core/**
`heap.h` was only referring to `garbage_collected.h`. Blink code
should use `garbage_collected.h` to declare a GCed class. This allows
the header to be reused in future for actual heap internals.
This CL does not generally address useless includes other than
running `git cl format`.
Bug: chromium:1269227
* De-amp feature
* Add settings UI for de_amp feature
* Add tests
* Refactor Speedreader + DeAmp throttle/loader
* Restrict De-AMPing to main frame loads
* Pref default on
* Remove Android as test target
* Off by default on Android
Co-authored-by: bridiver <github@brianjohnson.cc>
fix https://github.com/brave/brave-browser/issues/21060
Introduced new IDS_SETTINGS_SIDEBAR_SHOW_OPTION_TITLE.
Although it uses same string with IDS_SIDEBAR_SHOW_OPTION_TITLE,
made different string id to prevent future regression.
IDS_SIDEBAR_SHOW_OPTION_TITLE was shared by many other UI such as app menu
or context menu.