Commit Graph
943 Commits
Author SHA1 Message Date
Jay Harris 00c86d781f [Nala]: Update sf-symbols alongside Nala (#35665) 2026-04-21 00:19:58 +02:00
Brian Clifton 6af1afa654 Introduce a script which can be used to help triage brave browser repos (#35462)
* Introduce a script which can be used to help triage brave browser repos.

Two current modes:
- team report (--team <comma separated list of GitHub IDs>: list count issues and pull requests assigned
- stale issue automation (--stale): ID and close issues based on configurable criteria.

Lots of configuration parameters available, including a --dry-run which
is read only.

Requires a GitHub API token to be created.
Change made to script/lib/github.py allows us to inspect response
headers for the purpose of paging results.
2026-04-14 21:44:31 -07:00
Max Karolinskiy a1b5dc7889 Remove renaming of bookmarks bar to bookmarks. (#35128) 2026-04-10 11:05:50 -04:00
Brian R. BondyandClaude Opus 4.6 a7bade6bac Fix Origin branding strings showing "Brave Nightly" on Windows (#34870)
* Fix Origin branding strings showing "Brave Nightly" on Windows

The brave_origin_strings.grd file had identical strings to
brave_strings.grd, causing Origin builds to display "Brave Nightly"
instead of "Brave Origin Nightly" on Windows. Update all user-facing
product name strings to use "Brave Origin" branding across Windows
shortcut names, accessible window titles, Start Menu folders, firewall
rules, and Mac helper names.

* Generate Origin branding via chromium-rebase-l10n.py

Update the python rebase script to apply "Brave Origin" branding
to brave_origin_strings.grd after it is copied from brave_strings.grd,
so the changes survive future l10n rebases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Only apply Origin branding to non-translatable strings

Remove translatable strings from the Origin branding list to avoid
breaking XTB fingerprint matching. Only strings with
translateable="false" or with their translateable attribute stripped
by the brave_strings processing are modified.

* Also update XTB fingerprints for Origin-branded strings

Apply Origin branding to all user-visible strings (not just
translateable=false) and update XTB files with new fingerprints
and "Brave Origin" text in translations.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 09:02:07 -04:00
Max Karolinskiy ecfbc5ebd5 Improve local network permission string on MacOS. (#34868)
* Updates rebase l10n script to allow for string replacements in brave_strings.grd
* Ran chromium_rebase_l10n.
2026-03-23 12:39:56 -04:00
Netzenbot 5bb907f22d Add best practices doc for handling upstream docs (#34864)
Add upstream test failures best practices doc

Consolidates upstream-flake filter guidance from testing-isolation.md
(TI-031, TI-032, TI-041, TI-042, TI-043) and patches.md (PATCH-011)
into a dedicated testing-upstream-failures.md. Expands the flake-check
section with full script usage and the LUCI verdict table.
2026-03-20 12:22:23 -04:00
AlexeyBarabash d2c91e9eb1 Fixed CheckSettingsChanges presubmit function (#34666)
* Fixed `CheckSettingsChanges` presubmit function

There were two problems:
1. Somehow the `registry_full_path` misses segments `chrome` and
   `android` when accessing `SearchIndexProviderRegistry.java`, so
   it is
   `.../brave-browser/src/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java`
   instead of an actual
   `.../brave-browser/src/chrome/android/java/src/org/chromium/chrome/browser/settings/search/SearchIndexProviderRegistry.java`
   which causes the registry not being read
2. `input_api.ReadFile` could not read outside of repo root which
   is `brave-browser/src/brave` so it could not read `SearchIndexProviderRegistry.java`

Fixed both with patching or chromium_presubmit_overrides.py

Resolves https://github.com/brave/brave-browser/issues/53560
2026-03-20 16:35:51 +02:00
Brian R. Bondy af22939d2e Import Claude Code skills and helper scripts (#34569)
* Import best-practice docs from brave-experiments/brave-core-tools

* Add Claude Code skills and helper scripts

Skills for: code review, CI management,
branch management, crash analysis, upstream flake detection, PR
creation, preflight checks, and more.
2026-03-09 21:15:46 -04:00
Anthony Tseng fef2a76f4c Move WASM workspace to third_party/wasm/ (#34497)
Relocate the WASM workspace from ui/webui/resources/wasm/ to
third_party/wasm/, following the convention of third_party/rust/.

This is a plain move with path updates — no structural changes to
the workspace, crate locations within it, or build targets.
2026-03-09 22:50:50 +00:00
Jakub Wądołowski 22ed791e75 fix(script/uplift): Handle empty cherry-pick errors gracefully (#33142)
* fix(script/uplift): Handle empty cherry-picks

* fix(script/uplift): Skip commit squashing for empty change sets
2026-03-03 16:58:01 +01:00
Max Karolinskiy c208866c0e Fixes aggressive Google -> Brave replacement in a string. (#34113)
On extensions page when dev mode is enabled, the documentation link now
says "Google Extension developer documentation" instead of Brave as the
link points to Google's help article.
2026-02-25 20:04:57 -05:00
Brian Clifton 24749dff7d Removing script which is no longer used (#34048)
Removing download method and the only script which had called it

This bisect script was not actively being used.
It was written and used on macOS for brave-core.Last I
had tested was ~Feb 2020. It might still work.
But no active users. It's always there in git history
in case we wanted to reconsider the idea.
2026-02-18 16:11:28 -07:00
Mikhail 3a8b0e3288 Fix eslint config (#33746)
The PR:
* Reengineering eslint.config.js to properly extending the existing plugins and configs.
   It also implies disabling a bunch of broken rules.
* Adds running eslint for all brave files in `npm run presubmit -- --all`.
* Also enables eslint check for all *.js files
2026-02-11 13:37:02 +04:00
Max Karolinskiy 20733369fd Update l10n for 1.87.x (Chromium 145). (#33691) (lowered to master). (#33819)
* Update l10n for 1.87.x (Chromium 145). (#33691)

* Fixes l10n srcipt warning.

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

* Updated l10n for 1.87.x release.

* Rebased l10n.
2026-02-10 11:24:16 -05:00
Max Karolinskiy 1686700f74 [cr145] Adds RunNodeRaw to brave_node.
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/f364a8e21e616f7f3b6befe67cec36f14a4d2494

commit f364a8e21e616f7f3b6befe67cec36f14a4d2494
Author: Fumitoshi Ukai <ukai@google.com>
Date:   Tue Dec 2 21:46:11 2025 -0800

    node.py: print stderr/stdout/exit status, attempt 2.

    previous attempt e24157c11d87344aeeddb2b0f6353bf2947082e3
    failed since eslint captures json output in RuntimeError message.

    instead of parsing RuntimeError message of node.py,
    introduce RunNodeRaw in node.Run and get (exitcode,stdout,stderr)
    in JsChecker.RunEsLintCheck.
    also introduce cwd to pass node.Run, instead of os.chdir before
    calling node.Run.

    Cq-Include-Trybots: luci.chromium.try:linux-presubmit,win-presubmit
    Bug: 461602362
2026-01-29 13:40:37 -05:00
Brian R. BondyandMichael Herrmann f92f3ae680 Configure unique GUIDs, installer names, and update paths for Brave Origin (#33184)
* Configure unique GUIDs, installer names, and update paths for Brave Origin

* Fix buildflag_header template to support invoker's public_deps

Chromium Issue number: 7486518 (https://chromium-review.googlesource.com/7486518)

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.

* Update signing helper to support Origin

With Sparkle (what we currently use):
- Lives in each app bundle separately (Brave and Brave Origin separate)
- There is no priviledged helper in use
- SMAuthorizedClients is not used

With Omaha v4 (not yet in use):
The privileged helper is part of the browser app bundle and not the updater.
The privileged helper is the thing that contains the SMAuthorizedClients value.
The privileged helper gets copied to /Library/PrivilegedHelperTools/<helper name>
The Brave updater is BraveUpdater.app and is the same for both products.

When the browser first runs (or during installation), it registers itself with the updater and the updater installs itself to a shared location like
- /Library/Application Support/BraveSoftware/BraveUpdater/ (system)
- ~/Library/Application Support/BraveSoftware/BraveUpdater/ (user)

Each app register with the updater with its own unique app guid (build/config.gni changes in my pr)
The updater maintains a list of registered apps and checks for updates for each.
Uninstalling one product doesn't remove the updater - it still serves the other.

* Use Origin Sparkle feed URL for Brave Origin builds

* Fix branding files for Origin to not have Browser in the name

This also fixes the wrong info for the Release channel.

* Fix wrong number of strings error because of Origin missing Dev channel

 ../../chrome/installer/util/l10n_string_util.cc(200,3): error: static assertion failed due to requirement 'std::size(kIDS_APP_SHORTCUTS_SUBDIR_NAME_BASEStrings) ==
13:52:59  install_static::NUM_INSTALL_MODES': resource IDS_APP_SHORTCUTS_SUBDIR_NAME_BASE has the wrong number of mode-specific strings.
13:52:59    200 |   DO_MODE_STRINGS
13:52:59        |   ^~~~~~~~~~~~~~~

* Adjust product path names for Brave Origin

* Update chromium_src/chrome/browser/component_updater/updater_state_win.cc

Co-authored-by: Michael Herrmann <michael@herrmann.io>

* Update chromium_src/chrome/installer/util/google_update_constants.cc

Co-authored-by: Michael Herrmann <michael@herrmann.io>

* Update browser/mac/sparkle_glue.mm

Co-authored-by: Michael Herrmann <michael@herrmann.io>

* Review fixes

---------

Co-authored-by: Michael Herrmann <michael@herrmann.io>
2026-01-29 13:13:05 -05:00
Aleksei Khoroshilov bd8186c2a1 Update rust tools build process to share intermediate targets. (#32780)
* Update rust tools build process to share intermediate targets.

* Remove unused logic.

* Modernize gn_run_rsp.py.

* Use separate crate target dir for each build_crate target.

* Add release target adjustments to update.py.

* Simplify cargo-audit path.

* Move cargo-audit target back to tools/crates.
2025-12-18 20:32:29 +09:00
Max Karolinskiy 40ddc98f5c Fixes l10n scripts. (#32846)
- Fixes validation of ICU plural strings. The previous pattern didn't
  allow for 'precise' (e.g =1) and 'ends on' (one) clauses to be present
  at the same time.

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

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

* Fixes replacement map.

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

* Fixes error printing.

* Adjust ICU strings validation pattern.

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

* Updated l10n for 1.85.x release.
2025-12-01 23:06:16 -05:00
Sangwoo Ko e6c4f6144c Force context menu on Shift + Right Click on elements in pages (#31770)
* Force context menu on Shift + Right Click on elements in pages

This PR introduces a feature that allows users to open the context menu
even if `event.preventDefault()` is called on the `contextmenu` event
when the Shift key is pressed.

This is particularly useful for users who want to access the context
menu on web pages that disable it through JavaScript.

This is achieved by bypassing the `preventDefault` check for
`contextmenu` events when the Shift key is detected as being pressed in
the "EventDispatcher" so that Node's `DefaultEventHandler` is called.

* Exclude rewrite from license checks
2025-11-30 17:08:45 +09:00
yan 03ce7add55 update js-yaml to 4.1.1 (#32328)
* update js-yaml to 4.1.1

fix https://github.com/brave/brave-browser/issues/50844

* exclude tools/crates in npm audit
2025-11-15 18:35:32 +01:00
Brian R. Bondy c879c7877a Remove some unused Python script tooling code (#32220) 2025-11-07 15:47:12 -05:00
Wojciech Knapik d9170cc51d Retry on failure in sign_binaries.py (#31589) 2025-11-05 11:23:31 +01:00
Gaetano Checinski ade2e98361 detect what affected tests for webpacked projects - adds ts folders as data (#31254)
extends the transpile_web_ui.py to assert that the source roots provided via imports_from are complete.
The purpose of this is to improve the gn analyze functionality to be able to infer which tests need to run based on filechanges alone.
2025-10-28 07:34:11 +00:00
Michael Herrmann 8cab96d9e1 Fix case-sensitivity error in Windows builds (#32018)
This happened when the drive letter was lower- instead of upper-case:

Traceback (most recent call last):
  File "C:\src\tools\grit\grit.py", line 17, in <module>
    sys.exit(grit.grit_runner.Main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\src\tools\grit\grit\grit_runner.py", line 307, in Main
    toolobject = _GetToolInfo(tool)[_FACTORY]()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\src\tools\grit\grit\grit_runner.py", line 25, in ToolFactoryBuild
    import grit.tool.build
  File "C:\src\tools\grit\grit\tool\build.py", line 21, in <module>
    from grit import grd_reader
  File "C:\src\tools\grit\grit\grd_reader.py", line 17, in <module>
    from grit.node import mapping
  File "C:\src\tools\grit\grit\node\mapping.py", line 12, in <module>
    from grit.node import empty
  File "C:\src\tools\grit\grit\node\empty.py", line 10, in <module>
    from grit.node import include
  File "C:\src\tools\grit\grit\node\include.py", line 12, in <module>
    import grit.format.html_inline
  File "C:\src\tools\grit\grit\format\html_inline.py", line 22, in <module>
    from grit.format import minifier
  File "C:\src\tools\grit\grit\format\minifier.py", line 35, in <module>
    from brave_chromium_utils import inline_chromium_src_override; inline_chromium_src_override(globals(), locals())
                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\src\brave\script\brave_chromium_utils.py", line 111, in inline_chromium_src_override
    chromium_src_override = get_chromium_src_override(orig_file)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\src\brave\script\brave_chromium_utils.py", line 64, in get_chromium_src_override
    assert path.startswith(src_dir), (path, src_dir)
           ^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ('C:\\src\\tools\\grit\\grit\\format\\minifier.py', 'c:\\src')
2025-10-24 12:48:19 +01:00
Claudio DeSouza a3e3e80015 [cr142] licenses.py dropped target_os
We no longer have any OS-dependent excluded paths any longer (confirmed with
security team), so we can drop the checks that relied on `target_os` completely.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2b748c6b6a27f01282f16dd87b30850f86987fa9

commit 2b748c6b6a27f01282f16dd87b30850f86987fa9
Author: David Song <wintermelons@google.com>
Date:   Wed Sep 24 09:21:26 2025 -0700

    [Fuchsia] Remove SwiftShader from the LICENSE file

    WebEngine is built with swiftshader enabled since some tests depend on
    it, but swiftshader artifacts are excluded from the packages uploaded
    to CIPD, so it should be excluded from the LICENSE file as well.

    Updated the licenses.py script to add support for --exclude-dir
    argument which is used now to exclude SwiftShader license.

    Bug: 444526998
    Change-Id: Ib38133c6760a4c477f7b0a80aab92dca58b72c8e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6946765
    Reviewed-by: Zijie He <zijiehe@google.com>
    Reviewed-by: Andrew Grieve <agrieve@chromium.org>
    Commit-Queue: David Song <wintermelons@google.com>
    Cr-Commit-Position: refs/heads/main@{#1520039}
2025-10-15 20:31:14 -04:00
Emerick Rogul 46dbe5fe34 [cr142][ios] MaterialComponents removed upstream
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5068b9f045eb4ce7a2d57ea33998ddf60bea2a2c

commit 5068b9f045eb4ce7a2d57ea33998ddf60bea2a2c
Author: Sylvain Defresne <sdefresne@chromium.org>
Date:   Fri Sep 19 09:03:38 2025 -0700

    [ios] Remove MaterialComponents and its dependencies

    Those libraries are no longer used, so remove them from DEPS and
    git submodules.

    This is part of a multi CL change:
     -  http://cl/808555604
     -  https://crrev.com/i/8602518
     => https://crrev.com/c/6966159

    Fixed: 443947340
    Change-Id: I05ce8d11347e2cb3225653062dd520384725847b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6966159
    Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
    Reviewed-by: Rick Byers <rbyers@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1517995}
2025-10-15 20:31:06 -04:00
Kyle Hickinson b762265e7b [iOS] Support partition alloc (#31399)
This change adds a new embedded framework to support partition alloc on iOS and removes the `ios_partition_alloc_enabled = false` arg passed in.
2025-09-25 15:02:48 -04:00
Jay Harris 4f725b8124 [Nala]: Add script for bumping Nala (#30261) 2025-08-27 09:12:58 +09:00
Brian Johnson 2b7a2186f5 Fix ModuleNotFoundError: No module named 'distutils' in ios_boostrap.py (#30803)
Use vpython3 which still has distutils available
2025-08-25 17:16:52 -07:00
Brian Johnson 45b32bd16a Fix android component unit tests
Always continue on fail for `--output_xml`
fix json2xunit.py when elapsed_time_ms = null (crashes)
add missing data deps
2025-08-21 15:32:13 -07:00
Aleksei Khoroshilov b4d99011dd Use siso also in non-RBE builds. (#30419)
* Use siso for local-only builds.

* Generate some output for audit_deps step.

* Add a comment for audit_deps output.
2025-08-06 16:23:42 +07:00
Max Karolinskiy 92cdbab7de Updated l10n for 1.81.x release (lowered to master) (#30455)
* Updated l10n for 1.81.x release. (#30428)

* Adds an exception to strings name pattern.

* Updated l10n for 1.81.x release.

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

Pulls fixed l10n strings to fix build error.
2025-08-05 14:50:42 -04:00
Max Karolinskiy 68eed4ef8a Adds Kazakh (kk) and Lao (lo) l10n locales. (#30412) 2025-08-05 11:02:51 -07:00
Aleksei Khoroshilov 52c7ff1dee Remove Page graph build dependency on args.gn (#30436)
* Expose page graph gn args via a separate file.

* Replace py patch with chromium_src patch.
2025-08-05 19:31:07 +07:00
Aleksei Khoroshilov e4cdfbe9a7 Enable SISO on Linux host with Brave-specific configuration (#30312)
Enable SISO by default for linux, mac, win targets built on host_os == "linux".
2025-08-01 18:28:16 +07:00
Michael Herrmann a0183aad2a Change BraveUpdater.app path in local checkout (#29986) 2025-07-17 13:11:42 +02:00
Brian Johnson e77cfdaab3 Output android test results in the same format as desktop when using --output_xml (#29870) 2025-07-15 05:23:29 +02:00
Aleksei Khoroshilov f9defae33c Print node error correctly on launch via presubmit. (#29987) 2025-07-14 14:08:53 +07:00
Max Karolinskiy bd9759a546 [l10n] Allow for pulling a single language. (#29751) 2025-06-27 08:35:20 -07:00
Kamil Jozwiak c8a4e2633f Merge pull request #29726 from brave/maxk-1.80.x-release-l10n
Updated l10n for 1.80.x release.
2025-06-24 17:06:02 -04:00
Brian Clifton cfa161e90d Remove the web torrent code from brave-core (#29320)
* Remove the web torrent code from brave-core

Fixes https://github.com/brave/brave-browser/issues/46430

Includes manual adjustment for `resources/resource_ids.spec`
2025-06-24 19:11:59 +02:00
Szilard Szaloki 568a52aad0 Fix-up. 2025-06-04 17:13:52 -06:00
Szilard Szaloki ef93802b57 Make build_crate use root_out_dir as its temp. 2025-06-04 12:07:40 -06:00
Jay Harris d9d45aa013 [AI Chat]: Remove TextEmbedder (#28874) 2025-05-29 14:31:24 +12:00
Kyle Hickinson c6a5ec1be0 [iOS] Add license information for Swift dependencies (#29065)
This change moves `third_party/ios_deps` to `ios/third_party` which matches Chromium and adds `third_party` entries for each dependency added in `brave-ios/Package.swift` so that they are correctly added to the licenses file
2025-05-16 00:54:48 +02:00
Brian Clifton 24bf1c5097 [uplift script] Add missing reference (#28739)
Add missing reference

Fixes https://github.com/brave/brave-browser/issues/45572
2025-04-18 11:54:35 -07:00