This reverts commit c49bfe6c4c41cdf188bd9736165033106ee4cb6b.
Reverting because this causes multiple upstream permissions tests to
fail and it's more important to keep those test working than avoiding a
patch.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/0660eaa52c271c0b9c908ff7cc56f68563a34a7b
commit 0660eaa52c271c0b9c908ff7cc56f68563a34a7b
Author: Dana Fried <dfried@chromium.org>
Date: Fri Dec 19 09:54:31 2025 -0800
[Chrome Next] Remove pre-side-by-side layout now that it's launched
Note that the logic in browser_view_layout_impl_old.cc is also moribund
and is about to be removed (once PiP gets its own layout).
Because of this, and because the old layout manager unit tests assumed a
single layout manager they could manipulate to behave like a tabbed,
app, or popup browser, none of them apply to the new setup and the old
unit tests (which tested the layout manager that isn't being used
anymore) are also removed.
Bug: 424236535
Per review feedback.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9d2b3244101ccd0eb8321d3027c648ec4a1b14e2
commit 9d2b3244101ccd0eb8321d3027c648ec4a1b14e2
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Thu Jan 15 07:32:24 2026 -0800
Set timeout from multi source page context fetcher
- Change the result code on CopyFromSurface so we can log a uma histogram
instead of an arbitrary string
- Pass timeout to viz, set the browser side timeout to be 500ms later to
give the IPC enough time.
Bug: b:447589565
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/5eb0161669e4f2e59191d1ac37bea98f551f5108
commit 5eb0161669e4f2e59191d1ac37bea98f551f5108
Author: Hubert Chao <hchao@chromium.org>
Date: Thu Dec 18 09:02:23 2025 -0800
[LNA] Add permission prompt for LNA split permissions
Adding the permission prompt UI for the new LNA split permissions LOCAL_NETWORK and LOOPBACK_NETWORK for both Desktop and Android.
Not done in this CL:
* updated icons
* omnibox chip
* checking the right permissions in StoragePartitionImpl::OnLocalNetworkAccessPermissionRequired
CLs for adding the new permissions:
1. https://crrev.com/c/7225793/: permissions/content settings types
2. https://crrev.com/c/7233078/: content settings and page info UI
3. this CL: permission prompt UI
4. future CL: permission policies
Bug: 465491626
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/562341811ecc226ef52b230a47e404cfa5a7da52
commit 562341811ecc226ef52b230a47e404cfa5a7da52
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date: Fri Jan 9 12:42:35 2026 -0800
[BrowserWindow] Compile browser_window on all android
Compile browser_window (but not extensions windowing) on all Android.
BrowserWindowInterfaces instances are only used for desktop Android
until modifications can be made to their lifecycle to support having
both a regular and incognito tab model by either creating two separate
BWI's per window OR creating one BWI that knows about regular &
incognito mode.
Binary-Size: Enable entire feature
Fixed: 474415203
Change-Id: I563f1f4982db0870b1b53c28775983a63d8c0446
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7418197
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Linyu He <linyuh@google.com>
Cr-Commit-Position: refs/heads/main@{#1567145}
As upstream continues to work on rearchitecting the delete browsing data dialog,
we encountered the following warnings when visiting the dialog in cr145:
polymer_bundled.min.js:1 Cannot redefine computed property 'isSyncPaused_'.
polymer_bundled.min.js:1 Cannot redefine computed property 'hasPassphraseError_'.
polymer_bundled.min.js:1 Cannot redefine computed property 'hasOtherSyncError_'.
polymer_bundled.min.js:1 Cannot redefine computed property 'googleSearchHistoryString_'.
This is because we override `properties()` using a spread of the base class
properties, which ends up redefining them.
Remove the spread of base class properties and initialize Brave-specific fields
in the constructor instead. This avoids redeclaring inherited computed
properties, which caused runtime Polymer errors, while keeping TypeScript type
checking happy. The change ensures new instance properties are added safely
without breaking inherited behavior.
Delay initial CrViewManager.switchViews() call until after first render so all
view elements are stamped before switching. This avoids assertion failures
introduced by stricter upstream invariants when views are conditionally stamped
or not yet attached during early lifecycle.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e6b2721218aea18372be7c12cfe9879faf5b80a1
commit e6b2721218aea18372be7c12cfe9879faf5b80a1
Author: dpapad <dpapad@chromium.org>
Date: Tue Nov 18 15:22:36 2025 -0800
WebUI: Prevent cr-view-manager events firing when not needed.
When calling switchView() or switchViews() with an already active view,
cr-view-manager was unnecessarily firing 'view-enter-start',
'view-enter-finish', 'view-exit-start', 'view-exit-finish' events, which
in turn caused a bug in Settings where focusBackButton() was called in
SettingsViewMixin when it shouldn't (when searching in <all-sites>).
The cr-view-manager behavior when switching to already active views had
been modified at crrev.com/c/6696849, so this CL effectively restores
the old "early return no-op" behavior.
Fixed: 460732312
Change-Id: If71cd7084a267a52539464f5e3e2a45ba3dc49e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7169474
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: John Lee <johntlee@chromium.org>
Commit-Queue: John Lee <johntlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1546843}
Chromium recently introduced the googlechrome config flag to restrict
remote executions for non-clang compile actions (such as mojo generators)
to only Google's official REAPI setup. This was done because "non google
builds often have issue with enabling remote executions for non-clang
compiles when they use an external REAPI."
However, Brave's RBE infrastructure is fully compatible with these remote
actions and they execute correctly in our setup. By force-enabling the
googlechrome config via -config googlechrome in .sisorc, we restore
remote execution support for mojo and other non-clang build actions in
Brave builds.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bc0bd277c9a2fcde9989fbfe981344db0648f0b7
commit bc0bd277c9a2fcde9989fbfe981344db0648f0b7
Author: Junji Watanabe <jwata@google.com>
Date: Thu Jan 8 18:39:35 2026 -0800
siso: Introduce googlechrome config to enable remote executions for non clang compile actions
Non google builds often have issue with enabling remote executions
for non-clang compiles when they use an external REAPI.
To make the transition to Siso smooth, this CL enables remote executions
only for `-config googlechrome` build. backend_config/google.star now
has `googlechrome` as a default flag.
Bug: 424659245, 472063697
Change-Id: I3b39d395f4130b61891ab6b1f46517bde00c8c32
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7409934
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Junji Watanabe <jwata@google.com>
Cr-Commit-Position: refs/heads/main@{#1566686}
https://chromium.googlesource.com/chromium/src/+/5c12bc8f387c732614868975dc0ee7e9b8e25f94
commit 5c12bc8f387c732614868975dc0ee7e9b8e25f94
Author: Fumitoshi Ukai <ukai@google.com>
Date: Fri Jan 9 01:41:57 2026 -0800
siso: enable googlechrome only for Google RBE
external folks may use google.star without setting reapi_address
etc in .gclient custom_vars.
Check reapi_address flag to enable googlechrome config in google.star.
Bug: 424659245, 472892242, 472063697
Change-Id: Ife9337352537c7583439fd684da3924accbd918f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7414509
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Junji Watanabe <jwata@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
Cr-Commit-Position: refs/heads/main@{#1566817}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/199c5793cf76c58e931c834ee9bc36437387bb06
commit 199c5793cf76c58e931c834ee9bc36437387bb06
Author: Wenyu Fu <wenyufu@chromium.org>
Date: Fri Dec 12 16:41:21 2025 -0800
[Icons] Remove btn_toolbar_reload.png and test_ic_refresh_black_24dp
Update `btn_toolbar_reload` as a drawable alias. Since refresh is not
automirrored, create `ic_refresh_24dp_rtl.xml` to keep it mirrored in
RTL locale. This allows us to remove all the png version of
btn_toolbar_reload.
Also remove the test only resource that doesn't seem necessary
test_ic_refresh_black_24dp.xml.
Bug: 465841381
Change-Id: I4d936216bee75a493689f4c3f840178275cadc84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7256663
Commit-Queue: Wenyu Fu <wenyufu@chromium.org>
Reviewed-by: Joel Tan-Aristy <jtanaristy@google.com>
Cr-Commit-Position: refs/heads/main@{#1558360}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b80a1b0c422e6fbd55c1a3bf92ab3b70cdee2363
commit b80a1b0c422e6fbd55c1a3bf92ab3b70cdee2363
Author: Menghan Yang <myuu@google.com>
Date: Mon Jan 12 04:06:44 2026 -0800
[Android][Signin] Migrate NTP promo to the new sign-in API
This change migrates the NTP sign-in promo to a new sign-in API.
It plumbs several new dependencies (ActivityResultTracker,
ModalDialogManager, SnackbarManager, BottomSheetController, etc.)
through NativePageFactory, NewTabPage, and NewTabPageLayout down to the
NtpSigninPromoCoordinator.
Bug: 437039516
Change-Id: I33714b69d37e4f482973a8f00a10530f5e5d3e2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7390216
Commit-Queue: Menghan Yang <myuu@google.com>
Reviewed-by: Boris Sazonov <bsazonov@chromium.org>
Auto-Submit: Menghan Yang <myuu@google.com>
Cr-Commit-Position: refs/heads/main@{#1567687}
The below change was causing
BraveTabStripUnitTest.SetSelectionShouldNotExpandCollapsedGroupWhenTabStripIsNotEditable
to crash because TabStrip::GetBrowser is now routed via
GetBrowserWindowInterface() which was null in the test.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/2caf7a29c55e960fea36c55eb83f1d3a02c9a2fb
commit 2caf7a29c55e960fea36c55eb83f1d3a02c9a2fb
Author: Steven Luong <stluong@chromium.org>
Date: Fri Jan 9 14:09:08 2026 -0800
[VerticalTabs] Remove browser() accessor from TabStripController
Bug: 439956588
This patch is not necessary anymore as the whole thing has been deleted.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ecf6c3c62a8fea27a56341162de22c2bf90e9211
commit ecf6c3c62a8fea27a56341162de22c2bf90e9211
Author: Nate Fischer <ntfschr@google.com>
Date: Fri Jan 9 11:03:12 2026 -0800
Android: remove unused monochrome targets
This removes more build targets which were previously used by
monochrome, however these are now dead code because the top-level
monochrome targets have been removed. This removes the corresponding
monochrome-specific Java code.
Bug: 434045992
Test: gn gen out/Default
Change-Id: I9c5e7188e70ef6ce5cf8ba4e621fe07269d3b9dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7411410
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1567064}
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/1d9b855ced4c7ee53124d44af3d215789292515b
commit 1d9b855ced4c7ee53124d44af3d215789292515b
Author: Ernest Nguyen Hung <ernn@google.com>
Date: Wed Jan 7 10:43:58 2026 -0800
[DBSC] Add Mojo handler for chrome://unexportable-keys-internals
It adds a Mojo handler for `chrome://unexportable-keys-internals` to
fetch and delete keys. UI changes will be added in future CL(s).
Bug: 454585857
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/5e25e8cc98026bbc782cf7048c786f85de0595b1
commit 5e25e8cc98026bbc782cf7048c786f85de0595b1
Author: Rushan Suleymanov <rushans@google.com>
Date: Wed Jan 7 23:52:17 2026 -0800
Add scaffold for DataType::SKILL
Adds the new DataType enum value and an empty specifics proto. Generated
from components/sync/bootstrap_new_data_type.sh.
Note to sync reviewer: please verify for every touched static_assert(),
the change is fitting or has a corresponding TODO.
Bug: 471793686
Using an override for the method by copying code is not safe as it
misses upstream changed.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/961e7f0682c362f078d346556998198f6deca99c
commit 961e7f0682c362f078d346556998198f6deca99c
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Wed Dec 3 12:08:19 2025 -0800
[bedrock] Add BrowserManagerService::AddBrowserForTesting()
There are currently several deprecated unit tests under //chrome that
manually instantiate self-owned browsers via the
Browser::DeprecatedCreateOwnedForTesting() API.
Recent CLs have introduced the new ProfileBrowserCollection and
GlobalBrowserCollection abstractions to track application browser
objects with appropriate scope.
All code will be converted from using BrowserList to instead use
these classes for Browser-related lookups / operations.
This CL adds support for ProfileBrowserCollection to unit tests that
instantiate Browsers via the deprecated test-only API. This is done
by updating BrowserManagerService to track unowned Browser instances
created by these unit tests. This change is intended to unblock
BrowserList deprecation without requiring removal of all Browser
unit tests from the codebase.
Fixes a couple of unit tests incorrectly tearing down the Browser to
fix the dangling refs.
Bug: 431671320
This fixes the following error:
C 07:43:50.007 21.797s Main 1| java.lang.IllegalArgumentException: SemanticColorUtils requires a value for the brave.junit.tests:attr/colorSurface attribute to be set in your app theme. You can either set the attribute in your theme or update your theme to inherit from Theme.MaterialComponents (or a descendant).
C 07:43:50.007 21.797s Main 1| at com.google.android.material.resources.MaterialAttributes.resolveTypedValueOrThrow(MaterialAttributes.java:72)
C 07:43:50.007 21.797s Main 1| at com.google.android.material.color.MaterialColors.getColor(MaterialColors.java:94)
C 07:43:50.007 21.797s Main 1| at org.chromium.components.browser_ui.styles.SemanticColorUtils.resolve(SemanticColorUtils.java:33)
C 07:43:50.007 21.797s Main 1| at org.chromium.components.browser_ui.styles.SemanticColorUtils.getDefaultBgColor(SemanticColorUtils.java:43)
C 07:43:50.007 21.797s Main 1| at org.chromium.chrome.browser.ChromeBaseAppCompatActivity.initializeSystemBarColors(ChromeBaseAppCompatActivity.java:315)
C 07:43:50.007 21.797s Main 1| at org.chromium.chrome.browser.ChromeBaseAppCompatActivity.onCreate(ChromeBaseAppCompatActivity.java:251)
C 07:43:50.007 21.797s Main 1| at org.chromium.chrome.browser.init.AsyncInitializationActivity.abortLaunch(AsyncInitializationActivity.java:453)
C 07:43:50.007 21.797s Main 1| at org.chromium.chrome.browser.init.AsyncInitializationActivity.onCreateInternal(AsyncInitializationActivity.java:419)
C 07:43:50.007 21.797s Main 1| at org.chromium.chrome.browser.init.AsyncInitializationActivity.onCreate(AsyncInitializationActivity.java:344)
C 07:43:50.007 21.797s Main 1| at android.app.Activity.performCreate(Activity.java:9155)
C 07:43:50.007 21.797s Main 1| at android.app.Activity.performCreate(Activity.java:9133)
C 07:43:50.007 21.797s Main 1| at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1521)
C 07:43:50.007 21.797s Main 1| at org.robolectric.android.internal.RoboMonitoringInstrumentation.callActivityOnCreate(RoboMonitoringInstrumentation.java:377)
C 07:43:50.007 21.797s Main 1| at org.robolectric.android.controller.ActivityController.lambda$create$0(ActivityController.java:136)
C 07:43:50.007 21.797s Main 1| at org.robolectric.shadows.ShadowPausedLooper.runPaused(ShadowPausedLooper.java:264)
C 07:43:50.007 21.797s Main 1| at org.robolectric.android.controller.ActivityController.create(ActivityController.java:134)
C 07:43:50.007 21.797s Main 1| at org.robolectric.android.controller.ActivityController.create(ActivityController.java:144)
C 07:43:50.007 21.798s Main 1| at org.chromium.chrome.browser.vpn.activities.BraveVpnParentActivityTest.testShouldBringToTop_TrueForProfileActivity(BraveVpnParentActivityTest.java:26)
This change affects the use of this function in one override. This
change corrects this aspect.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/35c27e689f5eea4f4c69d62a25814ce22e6d5fd2
commit 35c27e689f5eea4f4c69d62a25814ce22e6d5fd2
Author: EmiliaPaz <emiliapaz@chromium.org>
Date: Wed Jan 7 21:19:09 2026 -0800
[Extensions] Add HostAccessRequest struct
Previously, the delegate and view classes were responsible for gathering
the necessary host access request information (extension name, icon)
from the ExtensionActionViewModel, which required passing around the WebContents.
This CL introduces a HostAccessRequest struct to encapsulate the data for an extension requesting host access in the extensions menu.
Bug: 449814184
Change-Id: Idfceedcb0c9d34a26fef13b7c0704400befc8839
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7405507
Reviewed-by: Eva Su <evasu@chromium.org>
Commit-Queue: Emilia Paz <emiliapaz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1566088}