This PR changes how our own class derives from and replaces the Chromium
version of `RenderViewContextMenu`, to be more in line of how this is
done for other classes.
This change does away with `BraveRenderViewContextMenu`, and makes it
the defacto `RenderViewContextMenu`, rather than `RenderViewContextMenu`
being a define to the Brave class. This means that with this change
there's now only `RenderViewContextMenu` and
`RenderViewContextMenu_ChromiumImpl`.
Resolves https://github.com/brave/brave-browser/issues/54023
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/214584f2ac3663b6577c1c491194309aa66c66cb
commit 214584f2ac3663b6577c1c491194309aa66c66cb
Author: Chase Hartsell <chazzy@google.com>
Date: Fri Mar 20 15:27:56 2026 -0700
[projects] Disable projects panel when tab groups are not available
TabGroupSyncService is not available for certain profiles, which was
causing a crash when switching to incognito mode (see
http://go/crash/8d5aebe88566bbc8). This adds a new
IsProjectsPanelVisibleForProfile util method that is used to check
whether the panel should be added to the browser view, preventing this
crash. Other code (like for hiding "pinning" options) still uses the
general IsProjectsPanelFeatureEnabled check.
Bug: 494580341
Change-Id: I01ff7428533472acf022eb71aa0f01f10335908d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7689411
Reviewed-by: Darryl James <dljames@chromium.org>
Reviewed-by: Kunal Daftari <kunaldaftari@google.com>
Commit-Queue: Chase Hartsell <chazzy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1602878}
This presubmit has been changed upstream in a way that has made the
existing patch obsolete.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ad768395ce12300ca7b5b2d4731308976cf83090
commit ad768395ce12300ca7b5b2d4731308976cf83090
Author: Mohamed Adel <adelm@google.com>
Date: Mon Feb 23 07:12:01 2026 -0800
[Settings Search] Improve the CheckSettingsChanges presubmit change
Based on feedback received, the key enhancements include:
Improved path resolution: Locating the SearchIndexProviderRegistry.java from the repository root to make the check more reliable.
Checking against staged changes: If the registry file is part of the CL, its content is read from the change itself. This allows for validation of registry changes that are in the same CL.
Better detection: The regular expressions for detecting UI changes are more strict. For example, not triggering for maps invoking `containsKey`.
Flexible registry parsing: The check for provider registration now uses a regular expression, making it resilient to extra whitespace or newlines in the registry file. Before, this was triggering missing provider issues when the provider was there but was split over multiple lines.
Clearer feedback: Warning messages are reformatted to be more structured and provide explicit actions for the developer, making it easier to address any issues.
Bug: 479820177
Change-Id: Ieaf46983d58028e9c841db8d1291b5b2d8311e46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7592940
Commit-Queue: Moe Adel <adelm@google.com>
Auto-Submit: Moe Adel <adelm@google.com>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1588678}
With this class deleted from the test code, there's no need for the
override to inject `Toggle` in it.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7e957d387556c821ca05d4ae1233e3aee2dcba01
commit 7e957d387556c821ca05d4ae1233e3aee2dcba01
Author: Sho Biswas <shobiz@google.com>
Date: Mon Mar 9 15:46:32 2026 -0700
Make contextual_tasks side panel coordinator platform-agnostic
Step 4 (after http://crrev.com/c/7590589) in breaking
sidepanelcoordinator into a component for business logic, and a
different one for view logic that's implemented per-platform.
The business logic should be exactly the same, and the interactive UI
test is mostly unchanged to reflect this. I also tried to remove
references to "side" wherever possible in the coordinator.
This is the last major step, and after that we can rename this file to
ContextualTasksPanelControllerImpl, containing the business logic. After
that will be implementing the Android version of the panel_host.
Bug: b:478282903
Change-Id: I90ce4728e7d50cc8e1662efbbaa046a999730159
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7601698
Reviewed-by: Yuheng Huang <yuhengh@chromium.org>
Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
Commit-Queue: Sho Biswas <shobiz@google.com>
Cr-Commit-Position: refs/heads/main@{#1596661}
`ContextualTasksPanelHostDesktopImplTest` is a new test fixture, and
this test mocks `SidePanelUI`, which requires this brave-specific method
to be mocked.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7013d902c66b5afca551d0ed416815f3ce0acf9a
commit 7013d902c66b5afca551d0ed416815f3ce0acf9a
Author: Sho Biswas <shobiz@google.com>
Date: Fri Mar 6 11:32:13 2026 -0800
Complete contextual_tasks_panel_host Desktop implementation.
Step 3 (after http://crrev.com/c/7560862) in breaking
sidepanelcoordinator into a component for business logic, and a
different one for view logic that's implemented per-platform.
Next step will be to use this implementation from the
sidepanelcoordinator, and maybe renaming it to panel_controller_impl.
Bug: b:478282903
Change-Id: I798c4157a5520385d3dbec299bc6ba63c53ae461
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7590589
Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
Commit-Queue: Sho Biswas <shobiz@google.com>
Reviewed-by: Yuheng Huang <yuhengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1595571}
This class is now gone, and all references to it, including overrides,
are replaced now with `TabData`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bf0fd12fe5e43e5d07067aeac270773d0a830258
commit bf0fd12fe5e43e5d07067aeac270773d0a830258
Author: Steven Luong <stluong@chromium.org>
Date: Fri Mar 6 11:13:18 2026 -0800
Reland "[TabRendererData] Move clients to use TabData"
This is a reland of commit af1897a38fe2fd6c261057977d1a3794766285a7
The original CL was reverted because the data sharing feature flag
wasn't enabled for a test which caused a collaboration message
test to fail.
Original change's description:
> [TabRendererData] Move clients to use TabData
>
> Fully delete the TabRendererData so that clients will use the TabData
> struct instead. This CL adds TabData::FromTabInterface() to help with
> the migration but this will be eventually be deleted in favor of using
> the TabDataObserver to cache and generate the TabData.
>
> Bug: 447214891
> Change-Id: I0c782a2a47b1dbffc79e150909bbcf67a7cdc3e7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7639651
> Commit-Queue: Steven Luong <stluong@chromium.org>
> Reviewed-by: Eshwar Stalin <estalin@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1595101}
Bug: 447214891
Change-Id: I9df05931dab9ad85aa6c07cc23966cb2790664d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7641753
Auto-Submit: Steven Luong <stluong@chromium.org>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Steven Luong <stluong@chromium.org>
Commit-Queue: Eshwar Stalin <estalin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1595551}
There is now a variant of this function that return an utf-8 string,
simplifying how this mehtod is used.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7020f45881b59d21fdfa505fae7896d6e7ff8f5chttps://chromium.googlesource.com/chromium/src/+/f3aa498c5cf8995d340c96861c7e3ecd67a08aa4https://chromium.googlesource.com/chromium/src/+/cc9e49b56e502928873a876eca6538231c23f49c
commit 7020f45881b59d21fdfa505fae7896d6e7ff8f5c
Author: Kent Tamura <tkent@chromium.org>
Date: Mon Feb 23 20:18:38 2026 -0800
url: Rename DecodeURLMode and DecodeURLEscapeSequences
This CL renames DecodeURLMode to DecodeUrlMode, and
DecodeURLEscapeSequences() to DecodeUrlEscapeSequences() to follow the
Google C++ style guide.
The style guide recommends treating acronyms as words in names (e.g.,
`StartRpc` instead of `StartRPC`). This change applies this convention
to the "URL" acronym in these names for consistency across the codebase.
Change-Id: I29ac4456e9745f66a2cd9e1d733cacecfe683a88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7593238
Reviewed-by: Hayato Ito <hayato@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Owners-Override: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1589145}
commit f3aa498c5cf8995d340c96861c7e3ecd67a08aa4
Author: Kent Tamura <tkent@chromium.org>
Date: Tue Feb 24 17:20:59 2026 -0800
url: Add an overload of DecodeUrlEscapeSequences()
This CL introduces an overload of DecodeUrlEscapeSequences(), which
returns a decoded UTF-8 string.
Change-Id: I3349cf8376801831675391228c9c4bd3e5d1a5ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7603356
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Owners-Override: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1589812}
commit cc9e49b56e502928873a876eca6538231c23f49c
Author: Kent Tamura <tkent@chromium.org>
Date: Wed Feb 25 22:50:18 2026 -0800
url: Introduce UrlEscapeDecoder to simplify URL decoding
This change introduces url::UrlEscapeDecoder, a helper class that
simplifies the process of decoding URL escape sequences.
Previously, decoding required manually setting up a RawCanonOutputW
buffer and then calling DecodeUrlEscapeSequences(). This pattern was
verbose.
The new UrlEscapeDecoder encapsulates this logic. It performs the
decoding in its constructor. This makes the calling code more concise
and readable:
url::UrlEscapeDecoder decoder(input, mode);
... use decoder.view() ...
This CL refactors several existing call sites to use the new, simpler
pattern.
Change-Id: I7b3c1538136b537ac33d6f101ca0e011308cc974
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7610180
Commit-Queue: Kent Tamura <tkent@chromium.org>
Owners-Override: Hayato Ito <hayato@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1590661}
This is a simple accessor change for our uses.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/02e3f72738b5ad02e8f30ab40ea1467550a91f2c
commit 02e3f72738b5ad02e8f30ab40ea1467550a91f2c
Author: Viktoriya Bryhider <vbryhider@microsoft.com>
Date: Mon Feb 23 19:24:08 2026 -0800
Move GetStoragePartitionConfig to SecurityPrincipal interface
Refactor storage partition configuration access by introducing
GetStoragePartitionConfig() on the SecurityPrincipal interface and
removing it from SiteInstance.
Update all call sites to access the storage partition configuration
through GetSecurityPrincipal().GetStoragePartitionConfig() instead of
directly calling GetStoragePartitionConfig() on SiteInstance.
This CL also adds unit test to ensure that the storage partition config
remains unchanged once accessed, preventing accidental changes that
could violate security boundaries.
Most of existing functionality remains unchanged. The
StoragePartitionConfig consistency verification now triggers on any call
to GetSiteInfo()/GetSecurityPrincipal() before SetSiteInfoInternal()
assigns the final SiteInfo, rather than only when the
StoragePartitionConfig is explicitly accessed. This is a broader check
than before, but it avoids the need to plumb an extra flag through
SecurityPrincipal/SiteInfo to track whether GetSecurityPrincipal() was
used specifically to read the StoragePartitionConfig.
Bug: 397481045, 40526490
Change-Id: I21e504383273f0adea8035fd6a9432b96920190d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7231185
Commit-Queue: Viktoriya Bryhider <vbryhider@microsoft.com>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Owners-Override: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1589122}
`RegisterManifestHandlers` now takes an argument, which is of no
relevance for the override in place.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/408aa6609b730ac50fc290c68c7120bd12ec576f
commit 408aa6609b730ac50fc290c68c7120bd12ec576f
Author: Ehtesham Zahid <ehteshamzahid313@gmail.com>
Date: Mon Feb 23 08:24:29 2026 -0800
[Extensions] Use dependency injection for ManifestHandlerRegistry
This CL refactors ExtensionsAPIProvider::RegisterManifestHandlers() to
accept a ManifestHandlerRegistry pointer. This eliminates the need for
individual providers and handlers to call the global
ManifestHandlerRegistry::Get() singleton.
By injecting the dependency from ExtensionsClient::DoInitialize, we
make the extensions startup sequence more explicit and reduce reliance
on global state. Fulfills a TODO by devlin@.
Bug: 485145030
Test: autoninja -C out/Default chrome
Test: Manually verified extension icons and permissions in chrome://extensions
Change-Id: I5002625d0e97068720c52e7b212274741de18348
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7582039
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Reviewed-by: Solomon Kinard <solomonkinard@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1588719}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/aec0e25ff3a1dd97b42eb34189675e9c99a39980
commit aec0e25ff3a1dd97b42eb34189675e9c99a39980
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Feb 19 02:53:21 2026 -0800
WTF: Remove TextCaseSensitivity usages in blink::String
This change simplifies the `blink::String` API by removing method
overloads that accept a `TextCaseSensitivity` parameter.
The affected methods, `Find`, `StartsWith`, and `EndsWith`, now have
dedicated case-insensitive versions such as `FindIgnoringAsciiCase` and
`StartsWithIgnoringAsciiCase`.
The change also refactors `SegmentedString::LookAheadInline` to be a
template function to handle both case-sensitive and case-insensitive
comparisons, removing the need to pass a TextCaseSensitivity parameter.
Bug: 473854537
Change-Id: Ic6e7c2ed39fbb89753f6c41e609cffb1d438acb3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7589014
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/main@{#1586995}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0c87d03edf1c991eeb72b93333eccac72407e51d
commit 0c87d03edf1c991eeb72b93333eccac72407e51d
Author: Mark Schillaci <mschillaci@google.com>
Date: Thu Feb 19 09:55:58 2026 -0800
Use SidePanelOpenTrigger directly from enums rather than util
This CL updates the side_panel code to use the SidePanelOpenTrigger in
enums without using SidePanelUtil::SidePanelOpenTrigger. This removes
the hard dependency of side_panel_ui_base on side_panel_util, which
will make it easier to move non-views related classes to a shared
package without having circular dependencies.
Bug: N/A
Change-Id: Ide8d8526cf1f8f65d15ff4753fb0dc236c13b166
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7590693
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Reviewed-by: Caroline Rising <corising@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1587236}
This more of the same enforcement of this linter that was not being
caught.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1abf6e73c31c8c22a25d7cd81a4fdc0de3631360
commit 1abf6e73c31c8c22a25d7cd81a4fdc0de3631360
Author: dpapad <dpapad@chromium.org>
Date: Thu Feb 19 07:56:44 2026 -0800
WebUI ESLint plugin: Fix isCrLitElementSubclass to catch a corner case.
Fixing a corner case where inheriting from a Mixin that ends with the
"Lit" suffix (like I18nMixinLit) would incorrectly not be detected as a
CrLitElement subclass.
Fixing newly found violations and updating tests to cover this case.
Bug: 480028273
Change-Id: I23071b0feb7986badf65264545fcfe097d5c00ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7589603
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1587137}
`RecordAccountNamesMetric` is now deleted from this header, but this can
be fixed by just merging the statement with another replacement.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/99e3c55ebd220c175fbaa5f8fc2081049f33f7d0
commit 99e3c55ebd220c175fbaa5f8fc2081049f33f7d0
Author: David Roger <droger@chromium.org>
Date: Wed Feb 18 09:21:44 2026 -0800
[profiles] Remove Profile.AllAccounts.Names histogram and related code
This CL removes the 'Profile.AllAccounts.Names' histogram and the
supporting infrastructure which is no longer needed.
This CL also deletes `ProfileAttributesEntry::GetGaiaIds()` and
`ProfileAttributesEntry::SetGaiaIds()` as they are dead code.
OBSOLETE_HISTOGRAM[Profile.AllAccounts.Names]=Removed in M147 (2026/02)
Fixed: 483056782
Change-Id: I3b029351ec5ab131d5fd7642e5e274bc67d56129
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7588296
Reviewed-by: Ryan Sultanem <rsult@google.com>
Commit-Queue: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1586484}
It is necessary now to provide the main frame URL to this function.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a8e095a03482aaa9554da7835c8ccbb0f146bca4
commit a8e095a03482aaa9554da7835c8ccbb0f146bca4
Author: Antonio Sartori <antoniosartori@chromium.org>
Date: Wed Feb 18 02:11:40 2026 -0800
Don't display precursor origin on javascript alerts with data: url
This CL tweaks the beheaviour of the util function computing the
message to be displayed on javascript alert. If the alerting top-level
document has a data: url, we don't display the precursor origin
anymore (even if we had one, which only applies in some situations).
Bug: 474817168
Change-Id: I0ee8d60d0c0bcd2ddd1bd158ff0aad344870b595
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7462512
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Commit-Queue: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1586300}
This merely changes for us the way we add this component as a dep.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/420fcbd9d85bd78ebda8352d8ce30a536f041949
commit 420fcbd9d85bd78ebda8352d8ce30a536f041949
Author: Mike Wittman <wittman@google.com>
Date: Wed Feb 18 11:29:07 2026 -0800
Make history_embeddings a layered component: content
Moves the content-dependent files to the 'content' subdirectory to
satisfy expectations for layered components. Making
history_embeddings a layered component is necessary to allow it to
indirectly depend the layered component page_content_annotations
via a page_embeddings dependency to be added in a follow-on CL
under the associated bug.
Bug: 468035604
Change-Id: Ib7ea5b962cd695653973f167540d9a202a86fa43
Bypass-Check-License: moved files
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7569305
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Commit-Queue: Mike Wittman <wittman@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1586581}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6b61390a6b8f29e108bc85cc2ba3ad70f3080c0b
commit 6b61390a6b8f29e108bc85cc2ba3ad70f3080c0b
Author: Mike Wittman <wittman@google.com>
Date: Tue Feb 17 19:38:19 2026 -0800
Make history_embeddings a layered component: core
Moves the non-content-dependent files to the 'core' subdirectory to
satisfy expectations for layered components. Making
history_embeddings a layered component is necessary to allow it to
indirectly depend the layered component page_content_annotations
via a page_embeddings dependency to be added in a follow-on CL
under the associated bug.
Bug: 468035604
Change-Id: I695ca7101b1b06efdf56546e8276c59d8d4ab242
Bypass-Check-License: moved files
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7569304
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Mike Wittman <wittman@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1586176}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/413253d95c40cac909a41e7455aef781f55b6ca5
commit 413253d95c40cac909a41e7455aef781f55b6ca5
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Feb 17 05:19:34 2026 -0800
Clean up allow/ask/block logic for category default settings.
This CL refactors SettingsCategoryDefaultRadioGroupElement to directly
handle ContentSetting values (ALLOW, ASK, BLOCK) instead of first
mapping them to a binary ENABLED/DISABLED state. This makes the
terminology cleaner, removes the built-in constraint that each setting
is two-state, and that ENABLED always maps to either ALLOW or ASK.
This is a pure refactoring without any changes to functionality or UI,
except for one thing. The WebHID setting on chrome://settings/content
now reads "Sites can ask to connect to HID devices" instead of the old
"Ask when a site wants to access HID devices" phrasing which was an
odd one out.
In more detail:
The custom element now contains three potential radio buttons (Allow,
Ask, Block) and dynamically hides the ones for which no label is
provided. While historically it contained:
enabledRadioOption, and
disabledRadioOption;
now it always contains:
allowRadioOption,
askRadioOption, and
blockRadioOption.
In the current implementation, for each category type, exactly two of
the three are shown, decided based on which radios the category-specific
HTML files supplies labels for. E.g. the HTML would set
`allowOptionLabel` and `blockOptionLabel` for an allow/block two-state
setting, and leave `askOptionLabel` undefined. Technically three-state
settings could be supported in the future, but we need to add more test
coverage for that.
This change snowballed into some larger mechanical renames, namely:
-- Updated category-specific pages (e.g., microphone_page.html) for ask/block permissions to use the new `ask-option-label` attribute.
-- Renamed IDS_SETTINGS_SITE_SETTINGS_..._ALLOWED strings to ..._ASK in `settings_strings.grdp` for categories where the language used on the UI
actually was along the lines of "Sites can ask to access ...". This was
the case for many permissions in the first half of the alphabet, e.g.,
Camera, Microphone, Geolocation; but not so much for permissions more
recently added, such as Local Network, or Window Management.
-- Updated site_settings_page.ts to reference the new ...Ask string
names for the `enabledLabel` for IDS_ that were changed.
-- Removed duplicate/unused HID device strings (IDS_SETTINGS_SITE_SETTINGS_HID_DEVICES_ALLOW and _BLOCK) and landed on _ASK and _BLOCKED for consistency.
Bug: 40623130
Change-Id: I5110517a51d966db6d44bf73c477fb4580716ee0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7581214
Reviewed-by: Rainhard Findling <rainhard@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1585671}
This change corrects the call to `GetAllPrepopulatedEngines`, which is
now a free fucntion under `regional_capabilities::`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a507104ab4c62c1c4d6bcbc97afb4bf58393de05
commit a507104ab4c62c1c4d6bcbc97afb4bf58393de05
Author: Nicolas Dossou-Gbete <dgn@chromium.org>
Date: Mon Feb 16 01:35:09 2026 -0800
ose-split: Declare the PrepopulatedEngineMigration feature flag
This flag will guard the logic allowing us to change the prepopulated ID
associated with given prepopulated engines, and update the local data
associated with the previous version of the these engines. Adding this
flag requires also flagging when a keywords DB update has been made
while the feature is enabled, to add the flag state as another keywords
DB update triggering criteria.
As part of the CL we also wrap usage of kAllEngines with a getter that
allows swapping it out in tests, to exercise the logic related to using
that second list of non-regional known engines as fallback.
Bug: 446637115
Change-Id: I618503a7b32df12be559511ec97651122cf3a5b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7544515
Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
Commit-Queue: Nicolas Dossou-Gbété <dgn@chromium.org>
Reviewed-by: James Lee <ljjlee@google.com>
Auto-Submit: Nicolas Dossou-Gbété <dgn@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1585320}
This change updates the `buildrs_support` that is manually maintained
for this target.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d3326a1838034686ceec12ecfec063ee69fff133
commit d3326a1838034686ceec12ecfec063ee69fff133
Author: Jon Toohill <jtoohill@google.com>
Date: Fri Feb 13 15:09:40 2026 -0800
Roll unicode-ident: 1.0.22 => 1.0.23 in //third_party/rust.
This CL has been created semi-automatically. The expected review
process and other details can be found at
//tools/crates/create_update_cl.md
Updated crates:
* unicode-ident: 1.0.22 => 1.0.23;
https://docs.rs/crate/unicode-ident/1.0.23
Bug: None
Cq-Include-Trybots: chromium/try:android-rust-arm32-rel
Cq-Include-Trybots: chromium/try:android-rust-arm64-dbg
Cq-Include-Trybots: chromium/try:android-rust-arm64-rel
Cq-Include-Trybots: chromium/try:linux-rust-x64-dbg
Cq-Include-Trybots: chromium/try:linux-rust-x64-rel
Cq-Include-Trybots: chromium/try:win-rust-x64-dbg
Cq-Include-Trybots: chromium/try:win-rust-x64-rel
Disable-Rts: True
Change-Id: I7e1910884abe9fe1b6f5a6168d88ac871aec72ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7573183
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Jon Toohill <jtoohill@google.com>
Cr-Commit-Position: refs/heads/main@{#1584951}
There's already an `Init` override for `ToolbarView`, however with this
header including `browser_window_features.h`, another `Init` macro ends
up cancelling the macro for `ToolbarView`. This change fixes this by
doing a preemptive inclusion of `browser_window_features.h`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ce9254f664168d4a0499d2ccd5d57d1352ace0e2
commit ce9254f664168d4a0499d2ccd5d57d1352ace0e2
Author: Vince Lugli <lugli@google.com>
Date: Fri Feb 13 21:59:41 2026 -0800
[VerticalTabs][Glic] Implement ToolbarGlicButton.
Create a ToolbarGlicButton that inherits and implements
GlicButton<ToolbarButton> template class. This is used in the
toolbar_view to display the Gemini button only when we are in vertical
tabs. The button is created on Init, but will only be visible when
vertical tabs should be shown.
Bug: 480980150
Change-Id: I1229d78a47c9e3b6666389933fb32f978cd956c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7568024
Commit-Queue: Vince Lugli <lugli@google.com>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1585083}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3073ab4af7d66e5c6d81d5dd586aeb2fd8f09e68
commit 3073ab4af7d66e5c6d81d5dd586aeb2fd8f09e68
Author: dpapad <dpapad@chromium.org>
Date: Fri Feb 13 14:24:02 2026 -0800
WebUI: Enforce "Element" suffix in CrLitElement subclass names.
The "Element" suffix for custom elements matches the naming of native
HTML elements and clearly conveys to the reader that a class is a UI
component.
Also updated the names of various elements in
with_webui_plugin_lit_element_structure_violations.ts to make it easier
to add new test cases without having to rename all elements every time.
Bug: 480028273
Change-Id: I6388bc00521fbd42e30e26d5ce093d3429a8feac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7571233
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1584914}
This change reflects the addition of `clear_focus_if_failed` to this
function in the exiting overide for it.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ccaaa043e306f0a97bc792232c378a6362141498
commit ccaaa043e306f0a97bc792232c378a6362141498
Author: Maks Orlovich <morlovich@chromium.org>
Date: Fri Feb 13 12:27:25 2026 -0800
Abstract away some dependencies on LocationBarView
...to set stage to create a different, WebUI-based, implementation of
LocationBar.
This involves adding new LocationBar interfaces for following
operations:
- BrowserView::SetFocusToLocationBar clearing focus if it can't focus location bar; this is done as a new bool parameter to the existing FocusLocation() since w/a WebUI implementation the attempt would be asynchronous.
- BrowserView::Layout adjusting focus behavior based on toolbar visibility.
- OmniboxPopupCloser::OnMouseEvent deciding whether a mouse event should close the omnibox popup or not.
- ... and also adjusting OmniboxPopupCloser::CloseWithReason to go via LocationBar and not LocationBarView, since the base class already has all the required functionality.
Bug: 474582476
Change-Id: Idbf9000157a96d785c7dffafe30c2f328bc6d833
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7541736
Reviewed-by: manuk hovanesian <manukh@chromium.org>
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1584842}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d3321f2d58bca7a6c085abb9103c14a9e66c9806
commit d3321f2d58bca7a6c085abb9103c14a9e66c9806
Author: rbpotter <rbpotter@chromium.org>
Date: Fri Feb 13 13:46:50 2026 -0800
WebUI: Add eslint rule to detect local variables in templates
Per the WebUI Lit styleguide, local variables like const/let should not
be used in Lit HTML template files.
Adding eslint-disable for a few locations that are still in the
process of being fixed, to facilitate landing this change sooner
to prevent new violations being added.
Bug: 481519338
Change-Id: Ibff5abd171e864943f99a8d5598386e57c21fd29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7564854
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1584889}
Privacy team says it's a privacy concern any more and is ok with this
feature being enabled.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/418a56df178e5b23da11a7b87d1fd57ad9807f37
commit 418a56df178e5b23da11a7b87d1fd57ad9807f37
Author: Thomas Nguyen <tungnh@chromium.org>
Date: Fri Feb 13 14:35:47 2026 -0800
[PEPC] Remove generic <permission> element
This CL removes the implementation of the generic <permission> element and the PermissionElement runtime feature. The specific elements <geolocation>, <usermedia>, and <install> are now supported by HTMLCapabilityElementBase and their respective subclasses.
Bug: 448593977
Change-Id: I7407b93e80b4ee8f7e21b45d3a8ecd1c83556714
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7404142
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1584922}
This class had a `string` called `access_token_`, which is now
`access_token_info_`. This is a `AccessTokenInfo` member. This change
corrects our use of this member, to match this new type.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/929b9d369746a04cd7255d0538caca21e2bfcb54
commit 929b9d369746a04cd7255d0538caca21e2bfcb54
Author: Rushan Suleymanov <rushans@google.com>
Date: Thu Feb 12 07:42:53 2026 -0800
[Sync] Use AccessTokenInfo instead of raw access token
This CL does not contain behavioral changes. Access token info is used
now to cache access token in SyncAuthManager and SyncConnectionManager.
It will be used in a follow-up CL to use its expiration time.
Bug: 477171988
Change-Id: I4a01f52f60f4321efb01dbbe2812222d25ded414
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7562994
Commit-Queue: Rushan Suleymanov <rushans@google.com>
Reviewed-by: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1583973}
This feature is now default behaviour, however prefetch as a whole is
disabled: we set prefetch::prefs::kNetworkPredictionOptions to
kDisabled. This causes PrefetchService::PrefetchUrl to abort.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3b7459bb21462a593f02fb89f2b0457a976ccc51
commit 3b7459bb21462a593f02fb89f2b0457a976ccc51
Author: kenoss <kenoss@chromium.org>
Date: Fri Feb 13 03:00:38 2026 -0800
PrefetchScheduler: Remove feature flag and unused code
This patch removes the feature flag `kPrefetchScheduler`, which is
enabled by default. This patch also removes unused code for
`kPrefetchScheduler` disabled.
Fixed: 406754449
Co-Authored-By: Gemini <noreply@google.com>
Change-Id: I60aa3c2d80bd5a30001014aa3543872a4348fe0d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7544422
Reviewed-by: Taiyo Mizuhashi <taiyo@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1584546}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7ac52ac23aaaa69aa8d7077adb28d91a7a62effe
commit 7ac52ac23aaaa69aa8d7077adb28d91a7a62effe
Author: Kent Tamura <tkent@chromium.org>
Date: Wed Feb 11 01:52:33 2026 -0800
Improve String::Split(UChar, Vector) API
The `String::Split` API was not very ergonomic. It required declaring a
vector on a separate line before calling the split method with an
out-parameter.
This change introduces a new `String::SplitSkippingEmpty` method that
returns a `Vector<String>` by value. This allows for a more concise,
single-line expression for splitting strings.
All call sites of the old `String::Split(UChar, Vector<String>&)`
overload, which implicitly skipped empty strings, have been migrated to
use the new `SplitSkippingEmpty` method. The now-unused overload has
been removed to improve the API surface.
This is a pure refactoring for code health and readability, and has no
behavior changes.
Bug: 473854537
Change-Id: Ib88a1fc308f89299cd5c1f967dc6503794773184
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7565357
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1583080}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/273197d0f8e2b860f4ed78aa23f8502447b1e039
commit 273197d0f8e2b860f4ed78aa23f8502447b1e039
Author: Julia Sobiech <jsobiech@google.com>
Date: Wed Feb 11 11:50:31 2026 -0800
Update Suggestion constructors to use std::u16string_view
This change updates several Suggestion constructors to accept
std::u16string_view instead of std::string_view for main_text and
labels. This removes the need for UTF-8 to UTF-16 conversion within the
constructors. All call sites in browser and unit tests have been updated
to pass UTF-16 strings.
Bug: 335194240
Change-Id: I6afb3b65d387491f3467561798e849049ae2d49f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7556152
Commit-Queue: Julia Sobiech <jsobiech@google.com>
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: Christoph Schwering <schwering@google.com>
Cr-Commit-Position: refs/heads/main@{#1583426}
This is a simple reordering of how the functions are declared.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2ba3111624d8ef1a8921daea60e47fd902201dc8
commit 2ba3111624d8ef1a8921daea60e47fd902201dc8
Author: dpapad <dpapad@chromium.org>
Date: Tue Feb 10 13:17:36 2026 -0800
WebUI: Enforce definition order of CrLitElement boilerplate methods.
This is done by updating @webui-eslint/lit-element-structure to enforce
the definition order of CrLitElement methods. This increases consistency
and readability as well as helps with other automatic checks to not have
to handle any arbitrary ordering.
Specifically in this CL enforcing the ordering of [is, styles, render,
properties] methods. The ordering of remaining methods (constructor,
connectedCallback, disconnectedCallback, willUpdate, firstUpdated,
updated) will be enforced in a follow-up.
Also updated docs/webui/webui_lit_style_guide.md to cover stuff that is
now enforced by @webui-eslint/lit-element-structure.
Bug: 475587461
Change-Id: I0b174146d0f514802752795c64899d5d58536fa4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7552842
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1582764}
`is_desktop_android` is now gone, and therefore there are different
inference rules in the manifest. This change documents the removal of
`mediaProjection` accordingly, since the previous block is gone.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/df0e0fe7d954c4979b0fd398d65f157785e418e
commit df0e0fe7d954c4979b0fd398d65f157785e418e3
Author: seannli <seannli@google.com>
Date: Tue Feb 10 17:05:52 2026 -0800
Remove is_desktop_android from AndroidManifest
Background media capturing should not be limited to desktop devices
only. Instead, its availability should be contingent upon the active
state of a foreground service with camera and audio type.
Bug: 426461170
Test: Manually build with desktop and non-desktop build.
Change-Id: I233c76035f98bb4cdccfcfc4e58465b739334425
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7559078
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Commit-Queue: Sean Li <seannli@google.com>
Cr-Commit-Position: refs/heads/main@{#1582902}
This requires updating the accessor for the member type in
`ToolbarView`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/82668c312e49fe09552d451ac4bae15ae145c179
commit 82668c312e49fe09552d451ac4bae15ae145c179
Author: Dana Fried <dfried@chromium.org>
Date: Tue Feb 10 07:20:18 2026 -0800
[Vertical Tabs] General way to assign toolbar clicks to caption/frame
In VTS mode, when the toolbar is at the top, a new, smarter algorithm
is used to determine if a point should count as being part of the
caption/grab handle.
The new algorithm looks at the toolbar and all icon containers, and
determines whether the point is:
- in/next to a separator or divider (in caption)
- in a non-separator button or other view (not in caption)
- between/above non-separator buttons or other views (in caption if
the point is in the upper half of the toolbar)
Bug: 482388968
Change-Id: I69e92c93e83e06e55b1511e0c36d95f672051cca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7560051
Reviewed-by: Alison Gale <agale@chromium.org>
Commit-Queue: Dana Fried <dfried@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1582501}
This is just another argument added to the constructor. This change
corrects the brave derived class, and a caller that needed to be
updated.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a170980e31287760c77efaae5ded1b9184611272
commit a170980e31287760c77efaae5ded1b9184611272
Author: EmiliaPaz <emiliapaz@chromium.org>
Date: Tue Feb 10 12:38:46 2026 -0800
[Extensions] Move icon update logic to the ExtensionsMenuViewModel
This CL moves the icon update logic from the View layer to the ExtensionsMenuViewModel. This centralization allows platform-specific
delegates to rely on notifications for icon changes instead of having
each platform separately managing icon update subscriptions on the View
Architectural changes:
- ExtensionsMenuViewModel subscribes to ExtensionActionViewModel
icon changes and notifies its observers through a new
OnActionIconUpdated method.
- ExtensionsMenuEntryView replaces ExtensionsMenuButton with a
generic HoverButton. Its state is fully determined by
MenuEntryState, and interactions are handled via callbacks.
No functionality or UI changes. Icon should be updated in the menu entry
in the same occasions.
Bug: 473213114, 471016915
Change-Id: I19a56ef3322f69545ccf5fad892b0c15a0a68ba7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7549071
Reviewed-by: Masa Fujita <massan@google.com>
Reviewed-by: Allen Bauer <kylixrd@chromium.org>
Commit-Queue: Emilia Paz <emiliapaz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1582734}
Recent changes to the overrides for this class add a virtual function
but overlooked the fact that the fucntion should have been declared a
pure virtual. This is of no consequence for normal builds, but ubsan
builds fail to link as the compiler adds instrumentation on virtual
functions.
Resolves https://github.com/brave/brave-browser/issues/49793
This change adds support for file paths to be listed when passing
`plaster apply`. This changes `apply` to go over all files, and just
apply specific ones.
This change will allow us to integrate plaster calls in brockit for
files that fail to reapply.
Resolves https://github.com/brave/brave-browser/issues/53512
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/61945115e29e52db591108c859ddea4e3740d61f
commit 61945115e29e52db591108c859ddea4e3740d61f
Author: Orin Jaworski <orinj@google.com>
Date: Mon Feb 23 19:24:49 2026 -0800
[omnibox][next] Implement popup selection control in webui omnibox
This CL does a few things:
- Lets the classic webui omnibox popup control its own popup selections
- Introduces a concept of "popup-focus" which is distinct from standard
browser focus, thus allowing the OmniboxViewView to retain input focus
while independently updating popup-focus as a visual indicator of
which popup selection should be opened when the user presses Enter
- Makes all elements on the classic webui omnibox keyboard accessible
- Makes the AIM button focusable even when there are no other
matches to select.
- Plumbs selection control signals (up/down/tab/pageup/pagedown etc.)
from native to webui so that webui can control its own logical
popup focus
- Provides a general mechanism for opening all natively supported
popup selections
- Implements selection navigation logic similar to that of
OmniboxPopupSelection but simpler and easier to reason about
Screen reader behavior is not changed or implemented on this CL,
it still depends on the native selection updates. More work is
needed to implement screen reading for the new popup-only (non-native)
selections like the context menu entrypoint button.
The main feature added on this CL is disabled by default but there
are also some bug fixing parts that aren't guarded.
Bug: 462775253, 476191408, 483063098
Change-Id: I47dd2b01801a28b8916c64e89a8389848a06e4e7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7562907
Commit-Queue: Orin Jaworski <orinj@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Orin Jaworski <orinj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1589123}
This new path replaces the old target:
`//chrome/browser/ui/tabs:tab_list_interface`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/69560d1fbf3c42193c19c852726bc4ed45669f10
commit 69560d1fbf3c42193c19c852726bc4ed45669f10
Author: Shakti Sahu <shaktisahu@chromium.org>
Date: Tue Feb 10 13:34:13 2026 -0800
Move TabListInterface to //chrome/browser/tab_list
This CL moves TabListInterface and the associated files out of
//chrome/browser/ui/tabs to //chrome/browser/tab_list. This is
a more appropriate location since TabListInterface is used by
both Desktop and Android.
Bypass-Check-License: Files were moved. No new files.
Bug: None
Change-Id: I600032ed450ffe5580a5d4b16877a9c279c8315b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7563236
Reviewed-by: Darryl James <dljames@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Commit-Queue: Shakti Sahu <shaktisahu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1582785}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/700477ec479e5cf63888431b568389be805e6f41
commit 700477ec479e5cf63888431b568389be805e6f41
Author: dpapad <dpapad@chromium.org>
Date: Mon Feb 9 15:30:53 2026 -0800
WebUI: Fix violations of CrLitElement method definition ordering.
Specifically in this CL fixing all cases that don't follow the [is,
styles, render, properties] ordering.
This is in preparation of updating @webui-eslint/lit-element-structure
to enforce the definition order of CrLitElement methods. This increases
consistency and readability as well as helps with other automatic checks
to not have to handle any arbitrary ordering.
Bug: 480028273
Change-Id: I98350723f766587e7ee35c8e2d56121d5b558383
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7560072
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1582094}
Adding a stub for this method, as for the other pure virtual ones.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3b7648b8c4ac13e7afc2d236958fa439c529cd9a
commit 3b7648b8c4ac13e7afc2d236958fa439c529cd9a
Author: Norge Vizcay <vizcay@google.com>
Date: Fri Feb 6 09:42:49 2026 -0800
Introduce new UpsertPrivatePass in wallet http client.
This CL adds the UpsertPrivatePass method to WalletHttpClient and
migrates the UpsertPrivatePassRequest implementation to use protocol
buffers instead of JSON. It includes new proto definitions for the
response, updates request building logic to use ClientInfo protos, and
adds comprehensive unit tests.
Bug: 478783796
Change-Id: I4f7a00874dfcf6f53c5e3918b4d88dd9446b458d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7546123
Reviewed-by: Jan Keitel <jkeitel@google.com>
Commit-Queue: Norge Vizcay <vizcay@google.com>
Cr-Commit-Position: refs/heads/main@{#1580917}
The field `location_bar_view_` was renamed to `location_bar_`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7665950d52cd17da85e02df6ed9ae313ecc5af98
commit 7665950d52cd17da85e02df6ed9ae313ecc5af98
Author: Maks Orlovich <morlovich@chromium.org>
Date: Fri Feb 6 08:23:10 2026 -0800
rm LocationBarView dep of ChipController & PermissionDashboardController
To permit alternative implementation of LocationBar to use them, at
least at first. The methods added to LocationBar (except for the Browser
getter) are expected to be used elsewhere, too.
ContentSettingImageView::Delegate got turned into
ContentSettingImageViewDelegate to avoid circular deps.
Bug: 474582476
Change-Id: Ibfd44e01618ec6c98a08ae299f9605b32868367d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7493808
Reviewed-by: Elias Klim <elklm@chromium.org>
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1580873}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0d3282d181ce78c4f7d559034ee9cb2c85a20730
commit 0d3282d181ce78c4f7d559034ee9cb2c85a20730
Author: rbpotter <rbpotter@chromium.org>
Date: Thu Feb 5 18:09:38 2026 -0800
WebUI: Fix check for inline lambda event handlers
The check was missing cases where newline characters were in the lambda.
Fixing this made it difficult to correctly match the tagname in the same
regex, so instead pulling the tagname from the string based on the event
handler position, which seems more reliable.
Also adding an extra test case that would have caught the error in the
check.
Bug: 481017412
Change-Id: Ia2db0d30bf2dab0051f8a2e5f157234eab43cf86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7549185
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1580550}
This class has been renamed. Additionally `CannotActReason` is gone.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9a28f88fc1f88c6537726a915b73414f6fe86e36
commit 9a28f88fc1f88c6537726a915b73414f6fe86e36
Author: David Bokan <bokan@chromium.org>
Date: Fri Feb 6 09:51:26 2026 -0800
Make EnterprisePolicyChecker a URL checker
GlicActorPolicyChecker checks for the CanActOnWebCapability before
starting an ActorTask and it stops all tasks when the capability is lost
so there's no need to check it in actor/. Remove the capability checks
on the interface, leaving it to be solely a URL checker.
Fixed: b:455645486
Change-Id: Id38f0c3a369af1041cbbef0c03b6188e2468207c
Bypass-Check-License: Files moved (in upstream patch, unneeded once that lands)
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7540836
Commit-Queue: David Bokan <bokan@chromium.org>
Auto-Submit: David Bokan <bokan@chromium.org>
Reviewed-by: David Pennington <dpenning@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1580926}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9fc2f044ed7de02538f1fe2777d6aba1974f4703
commit 9fc2f044ed7de02538f1fe2777d6aba1974f4703
Author: Dana Fried <dfried@chromium.org>
Date: Tue Jan 13 16:07:20 2026 -0800
[Vertical Tabs] Move corner configuration to layout
This CL moves the configuration of corners on elements using the new
CustomCornersBackground (as of this CL: toolbar and top container) from
the classes to the layout manager, which simplifies computation and
removes dependencies from these views to various browser view elements.
Bug: 439962548
Change-Id: I912da831ad617ed24983cdf9e183e0105e4548bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7270025
Commit-Queue: Dana Fried <dfried@chromium.org>
Reviewed-by: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1568791}
This is a simplification of how these variations are declared, as the
size is now deduced.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2e89d3b1ac044129ba5bf54a961a751dff898356
commit 2e89d3b1ac044129ba5bf54a961a751dff898356
Author: Jan Wilken Dörrie <jdoerrie@chromium.org>
Date: Thu Feb 5 12:59:15 2026 -0800
[flags] Use base::span for params in FeatureVariation
Update the FeatureVariation struct to use base::span<const FeatureParam>
for its parameters, replacing the previous raw pointer and explicit
count fields. This modernization improves safety and enables more
concise flag definitions throughout the codebase.
By using base::span, flag variations can now be defined by passing a
FeatureParam array directly, allowing the compiler to implicitly
construct the span and eliminating the need for manual size
specifications via std::size.
Key changes include:
- Updating FeatureVariation in feature_entry.h to store a span.
- Removing explicit size arguments from flag variation definitions in
about_flags.cc and about_flags.mm.
- Refactoring FlagsState to use range-based for loops when iterating
over variation parameters.
- Converting standalone FeatureParam instances into single-element
arrays to support the new span-based constructor.
BYPASS_LARGE_CHANGE_WARNING=Change is already minimal.
Bug: 40285824
Change-Id: I4694ffb3b7a5bcf564bdf0a6bd6f85a26a6a6964
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7544925
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Dana Fried <dfried@chromium.org>
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1580363}
This shadow file is being added to allow new code to see that
`BraveTabHoverCardController` is derived from `TabHoverCardController`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c5173476726c9c837bbb10a5710b14897fc7dc31
commit c5173476726c9c837bbb10a5710b14897fc7dc31
Author: Dominic Austria <dominicaustria@google.com>
Date: Tue Feb 3 13:41:00 2026 -0800
Upgrade TabHoverCardController to browser test
We upgrade the TabHoverCardController unit tests to browser tests. It does not make sense for it to be a unit test anyway since it was using both browser view and browser objects. This CL is setup for larger refactoring of the hovercard classes.
Bypass-Check-License: We are moving a file
Bug: 465159270
Change-Id: Idf281cabfdad899a36f1931ba0f17687834fe892
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7538610
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Dominic Austria <dominicaustria@google.com>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579039}
The variant that was being used in brave was taking a string bufffer,
and that variant has been marked as unsafe.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/11c754b7b71d22d72c189b91f2030a3490bc9b13
commit 11c754b7b71d22d72c189b91f2030a3490bc9b13
Author: Kent Tamura <tkent@chromium.org>
Date: Tue Feb 3 17:37:10 2026 -0800
url: Update unsafe functions
* Marking older, less safe URL parsing functions like ParseStandardURL,
ParsePathURL, ExtractScheme, and ParseAuthority with
UNSAFE_BUFFER_USAGE to discourage their use.
* Removing UNSAFE_TODO and UNSAFE_BUFFERS annotations, as the functions
are explicitly marked as unsafe.
Bug: 350788890
Change-Id: I948f2b6733a3a91cada20a22665e1a1d6eab2bd4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7538800
Auto-Submit: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Owners-Override: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579167}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ed207083eaccedfc01800859ac2d205bed6a2823
commit ed207083eaccedfc01800859ac2d205bed6a2823
Author: Norge Vizcay <vizcay@google.com>
Date: Wed Feb 4 03:34:36 2026 -0800
[Wallet] Refactor network layer to use WalletRequest objects
This CL refactors the wallet network layer to use a request-based
architecture, similar to the payments component.
A new WalletRequest base class has been introduced to encapsulate
individual API requests. UpsertPassRequest and GetUnmaskedPassRequest
are the first concrete implementations for their respective API calls.
The request building logic has been moved out of WalletHttpClientImpl
and into the new request classes. WalletHttpClientImpl is now only
responsible for sending the request and receiving the response.
Unit tests have been added for the new UpsertPassRequest class.
Bug: 478783796
Change-Id: I8d66b7291539f0838232b217afb11b1f24cb4986
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7541373
Commit-Queue: Norge Vizcay <vizcay@google.com>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1579338}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9bb50782fe830d28ff46788f3fe61f34daf4617e
commit 9bb50782fe830d28ff46788f3fe61f34daf4617e
Author: Przemyslaw Szczepaniak <pszczepaniak@google.com>
Date: Tue Feb 3 08:42:31 2026 -0800
Implement AI Highlight Overlay for web content
This CL introduces an AI-generated highlight overlay feature that draws
highlights over specific elements in web content. The implementation
spans from the content layer to the browser UI, using the existing
RenderFrameMetadata tracking mechanism.
Key changes:
* Content:
* Introduced TrackedElementObserver to allow browser-side
components to observe changes in tracked element bounds.
* Updated RenderWidgetHostImpl to notify these observers when
new RenderFrameMetadata (containing element bounds) arrives.
* Browser (Tabs):
* Implemented ContextHighlightTabFeature, a tab-scoped feature that
observes its WebContents and RenderWidgetHost for bounds
updates.
* Browser (Window):
* Implemented ContextHighlightWindowFeature, a window-scoped feature
that manages the overlay UI. It tracks the active tab's
ContextHighlightTabFeature and coordinates with the overlay view.
* UI (Views):
* Added ContextHighlightOverlayView, a specialized view responsible
for drawing the highlights on a transparent layer above the web
contents.
* Updated BrowserView and ContentsLayoutManager to host and
correctly position the AI highlight overlay.
Bug: 459385624
Change-Id: Ide6ae42ab0778b028315654182f4af8e2638208e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7497356
Commit-Queue: Erik Chen <erikchen@chromium.org>
Reviewed-by: Dana Fried <dfried@chromium.org>
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Auto-Submit: Przemyslaw Szczepaniak <pszczepaniak@google.com>
Cr-Commit-Position: refs/heads/main@{#1578831}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/079a94e886ed77cdd2eda001a2bc289bc945aedb
commit 079a94e886ed77cdd2eda001a2bc289bc945aedb
Author: dpapad <dpapad@chromium.org>
Date: Wed Feb 4 12:39:25 2026 -0800
WebUI: Implement new @webui-eslint/lit-element-structure check.
Specifically the new check enfocres the following for CrLitElement
subclasses:
1) The exstence of the 'static get is() {...}' method.
2) The existence of the 'interface HTMLElementTagNameMap {...}'
declaration.
3) The existence of the 'customElements.define(...)' call.
All violations have been addressed in previous CLs and the check is
enabled as part of build_webui's ':lint_ts' target.
Some additional structural checks will be added in follow-up CLs.
Bug: 480028273
Change-Id: I2683d9bd72598a1448efdc6224da5c5b70c3e4a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7536164
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579659}
Now that `ActorKeyedService::CreateTask` requires a policy checker, create a
stubbed checker that always returns `true`, as advised by the Brave AI team.
Note: This commit requires security review!
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/79560ad4804c2976cddef98630bb6c64a7d4af8e
commit 79560ad4804c2976cddef98630bb6c64a7d4af8e
Author: David Bokan <bokan@chromium.org>
Date: Tue Feb 3 08:35:14 2026 -0800
Actor: CreateTask API takes an EnterprisePolicyChecker
This CL is a refactor with no intended behavior change.
Followup to https://crrev.com/c/7536495 which moved ActorPolicyChecker
to be accessed through ActorTasks. This CL extends the change to pass
the policy checker from the public CreateTask API but is split out as
it's a large but mechanical change.
Production callers stil pass in the instance from ActorKeyedService but
tests can now pass in a mock EnterprisePolicyChecker which performs no
checks rather than using a test-only base::Feature.
Change-Id: I62cf749fe551fd064f9b16864b03a4ad144211f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7536775
Reviewed-by: Erik Chen <erikchen@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1578823}
This class is being deleted, and therefore the patching for the dangling
pointers is going away too. It is not clear yet if a new case of
a dangling pointer will happen elsewhere, but additional fixes may
follow suit if necessary.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/73273a1fc5ed67a0b570f4a51550261ae06421b7
commit 73273a1fc5ed67a0b570f4a51550261ae06421b7
Author: Dana Fried <dfried@chromium.org>
Date: Tue Feb 3 22:23:54 2026 -0800
[Webium] Use new, smarter widget tracker with ElementTrackerViews
Replaces the internal visibility "debouncer" in ElementTrackerViews with
the new tracker in the upstream CL.
This will handle the case where elements in minimized windows will not
be destroyed/hidden just because the window thinks it's "hidden".
The net result is that elements will disappear in response to the
primary window being hidden on the next call stack instead of
immediately, and will not go hidden if the window is being minimized.
This should not break most existing applications.
This bug is a blocker for some of the Webium work with dialogs.
Bug: 479787045
Change-Id: Ide2fb5f62b65bead0184e0bf9412d9e8a069f56d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7533557
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: David Pennington <dpenning@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Dana Fried <dfried@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579241}
This is overall a simplification, as the callback doesn't produce a pair
of metrics anymore, but just the desired one.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c63bd9318b07813ff357fc150ab02743e63b332c
commit c63bd9318b07813ff357fc150ab02743e63b332c
Author: Mark Pearson <mpearson@chromium.org>
Date: Mon Feb 2 12:00:02 2026 -0800
Deprecate Domain Diversity V2 metrics.
[AI generated summary]
This change removes the "V2" versions of the Domain Diversity metrics
(History.DomainCount*Day_V2) which included synced visits. The
`GetDomainDiversity` API in HistoryBackend and
`CountUniqueDomainsVisited` in HistoryDatabase are simplified to only
return results based on locally visited domains, as the V3 and V4
metrics only use local counts. The corresponding unit tests and
histogram definitions are updated accordingly.
BUG=477024476,40896778
OBSOLETE_HISTOGRAMS=Replaced with _V3 and _V4 versions of the histograms.
Change-Id: Ibf52839ab6ba8afbbdadabe6cde0b3605b6c5bf0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7528718
Reviewed-by: Marc Treib <treib@chromium.org>
Commit-Queue: Mark Pearson <mpearson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1578302}
With the base class changing the functions it now provides as pure
virtual, this change follows the new approach and sets the new APIs to
produce failures when called.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f3bc58a3baae4acd9de8f729f135fa0e7349ea4d
commit f3bc58a3baae4acd9de8f729f135fa0e7349ea4d
Author: Norge Vizcay <vizcay@google.com>
Date: Mon Feb 2 04:47:09 2026 -0800
[Wallet] Refactor WalletHttpClient to use UpsertPass
This CL refactors the WalletHttpClient interface to support both saving
and updating passes via a new UpsertPass method.
Key changes:
- Renamed SavePass to UpsertPass and added GetUnmaskedPass to the interface.
- Updated UpsertPass documentation to clarify that the presence of an ID determines whether a pass is saved as new or updated.
- Modified callbacks to return the WalletPass data model directly instead of a dedicated result struct.
- Added an optional id field to the WalletPass struct.
- Updated the ingestion controller and unit tests to match the new API.
Bug: 478783796
Change-Id: I920e39912e741e89d24285d9a79759357d7414fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7535239
Commit-Queue: Norge Vizcay <vizcay@google.com>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1578049}
There is a free function that should be used in place of the previous
member function.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2859095334d41f496f576cc45478a6231b2ed99b
commit 2859095334d41f496f576cc45478a6231b2ed99b
Author: David Bokan <bokan@chromium.org>
Date: Fri Jan 30 21:10:30 2026 -0800
Actor: Refactor SitePolicy's use of ActorPolicyChecker
This CL is a non-functional refactor.
Currently site policy checks are expected to flow through
ActorPolicyChecker. This CL flips the dependency so that clients call
the site policy functions and pass in an ActorPolicyChecker via an
interface which implements enterprise-specific checks.
This allows ActorPolicyChecker to be re-implemented for non-Glic clients
and will allow ActorPolicyChecker to be moved out of actor/ and into
glic/ where it belongs.
Change-Id: I4789aa391f4605bd44f4697a7a3c06fee2c50b70
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7535818
Reviewed-by: Kevin McNee <mcnee@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1577683}
This argument was just being passed along by the overriden class.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/39d901b3e64ec2b6e255e394eb0d7a1b29a1635c
commit 39d901b3e64ec2b6e255e394eb0d7a1b29a1635c
Author: Kaan Alsan <alsan@chromium.org>
Date: Thu Jan 29 11:49:10 2026 -0800
Move drag offset data into DragSessionData
This is a refactoring with no changes in logic.
This moves the offset out of TabDragController and into DragSessionData.
This will allow clients (e.g. TabDragContext or TabDragTarget) to access
it and use it for layout calculations.
Change-Id: I12c48932651b806d5bc38987828f24a10aa67513
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7532031
Commit-Queue: Kaan Alsan <alsan@chromium.org>
Reviewed-by: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1576761}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/93d7cdf927a4cb81327613abbcfb66ddff0ab330
commit 93d7cdf927a4cb81327613abbcfb66ddff0ab330
Author: Brian Bondy <brian@brave.com>
Date: Tue Jan 20 22:49:30 2026 -0800
Fix buildflag_header template to support invoker's public_deps
The template was forwarding public_deps from the invoker via
forward_variables_from(), but then unconditionally assigning to it.
This is incompatible - you can't forward a variable and also directly
assign to it.
The fix removes public_deps from forward_variables_from and explicitly
checks for invoker.public_deps after initializing the required
//build:buildflag_header_h dependency.
Bug: 476399185
Change-Id: I1dfd5bffd589c92088939540ec8d41978281d617
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7486518
Reviewed-by: Claudio DeSouza <cdesouza@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Philipp Wollermann <philwo@google.com>
Auto-Submit: Brian Bondy <brian@brave.com>
Commit-Queue: Philipp Wollermann <philwo@google.com>
Cr-Commit-Position: refs/heads/main@{#1572085}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3ed3758939d175c173d16090cb2e0eafd9583fe4
commit 3ed3758939d175c173d16090cb2e0eafd9583fe4
Author: Norge Vizcay <vizcay@google.com>
Date: Wed Jan 28 01:30:02 2026 -0800
Rename WalletablePass to WalletPass in the wallet data model.
This change renames the WalletablePass struct to WalletPass and updates
its associated files and references across the wallet component. It also
simplifies the request building logic in WalletHttpClientImpl as part of
the transition to a more generic data model for Google Wallet passes.
Bypass-Check-License: Files were moved.
Bug: 478783796
Change-Id: I94d65f6a78a439901d1fbec4707ccf645446023d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7520530
Commit-Queue: Norge Vizcay <vizcay@google.com>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1575789}