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

This bisect script was not actively being used.
It was written and used on macOS for brave-core.Last I
had tested was ~Feb 2020. It might still work.
But no active users. It's always there in git history
in case we wanted to reconsider the idea.
2026-02-18 16:11:28 -07:00
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
Brian Clifton 075810d0b5 [uplift script] Add new arg to copy CI/* labels (from the PR being uplifted) (#28713)
* Add new arg to copy "CI/*" labels from PR

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

* presubmit fixes
2025-04-17 09:46:39 -07:00
Terry Mancey 7384296d4d [ads] Remove dependency on RapidJSON (#28607) 2025-04-12 02:18:30 +02:00
Jay Harris 022dfece1f [Lit]: Add build time mangler for lit-html templates (#27703) 2025-04-04 08:21:58 +13:00
Max Karolinskiy c67717786a Removes Transifex l10n scripts. (#28341)
We have switched to using Crowdin.
2025-03-31 10:25:45 -07:00
Szilard Szaloki 70c5352cb1 opaque-ke 2025-03-28 18:51:54 -06:00
yan 73296a312f add more cargo audit paths (#28198) 2025-03-26 09:06:17 -07:00
Artem Samoilenko f7e7504754 [Android] Add MultiInstanceInvalidationService to non-base services exception list 2025-03-18 20:02:22 -04:00
Michael Herrmann 6dfc7230c0 Rewrite macOS codesigning, DMG & PKG generation logic (#27610) 2025-03-05 20:14:20 +01:00
Max KarolinskiyandKamil Jozwiak d32fa3eb12 Updated l10n for 1.76.x release (lowered to master). (#27948)
Merge pull request #27921 from brave/maxk-1.76.x-release-l10n

Updated l10n for 1.76.x release.

Co-authored-by: Kamil Jozwiak <kamiljoz@gmail.com>
2025-03-04 15:13:40 -05:00
Sampson 18105e71c4 Update Custom Distillation Approach, Enable by Default (#27904)
* add an option to declare if an iife is desired or not
* bundle distiller scripts directly, opt-out of an iife
* provide default distillation level value
* fixes distiller execution

With distiller scripts no longer being wrapped in IIFE's (by Webpack), we have a simpler execution pattern (i.e., { %s distill() }). This means we no longer need to combine scripts, or wait for promises to resolve. Lastly, the map of host names to distillation preferences has been moved to the header, which seems to be a more appropriate location.

* sets default distillation level to FULL
* switches distiller scripts to enabled-by-default
2025-03-04 11:15:06 -06:00