From ae9c1a194910dc9790aeef42881238281693e409 Mon Sep 17 00:00:00 2001 From: Anton Paymyshev Date: Wed, 8 Apr 2026 22:09:45 +0700 Subject: [PATCH] Completely remove kNativeBraveWalletFeature (#35261) --- .../org/chromium/base/BraveFeatureList.java | 1 - .../settings/BraveMainPreferencesBase.java | 6 +--- .../BraveTabbedAppMenuPropertiesDelegate.java | 2 +- .../adaptive/BraveWalletButtonController.java | 9 +++--- ...bbedAppMenuPropertiesDelegateUnitTest.java | 1 - browser/brave_content_browser_client.cc | 3 +- browser/profiles/brave_renderer_updater.cc | 7 +++- .../settings/br/privacy_page_index.ts | 3 +- browser/resources/settings/br/site_details.ts | 4 +-- .../settings/br/site_settings_page.ts | 4 +-- .../settings/brave_appearance_page/toolbar.ts | 20 ------------ browser/resources/settings/brave_routes.ts | 4 +-- .../brave_wallet_browser_proxy.ts | 5 --- .../brave_wallet_page/brave_wallet_page.html | 32 +++++++++---------- .../brave_wallet_page/brave_wallet_page.ts | 8 ----- .../BraveAdaptiveToolbarStatePredictor.java | 2 +- ...oButtonGroupAdaptiveToolbarPreference.java | 5 --- .../ui/views/toolbar/brave_toolbar_view.cc | 6 ++-- browser/ui/webui/brave_settings_ui.cc | 4 --- .../ui/webui/brave_wallet/wallet_page_ui.cc | 3 +- .../ui/webui/brave_wallet/wallet_panel_ui.cc | 3 +- .../ui/webui/settings/brave_wallet_handler.cc | 11 ------- .../ui/webui/settings/brave_wallet_handler.h | 1 - .../settings/brave_wallet_handler_unittest.cc | 17 ---------- .../side_panel/customize_chrome/BUILD.gn | 7 ++-- .../list_action_modifiers.cc | 4 +-- .../list_action_modifiers_unittest.cc | 22 +++++++------ .../flags/android/chrome_feature_list.cc | 9 ------ common/brave_renderer_configuration.mojom | 2 +- .../browser/wallet_data_files_installer.cc | 2 +- .../brave_wallet/common/common_utils.cc | 4 --- components/brave_wallet/common/common_utils.h | 1 - components/brave_wallet/common/features.cc | 4 --- components/brave_wallet/common/features.h | 2 -- ios/browser/api/features/features.h | 2 -- ios/browser/api/features/features.mm | 11 ------- renderer/brave_content_renderer_client.cc | 10 ++++-- renderer/brave_content_renderer_client.h | 5 +++ renderer/brave_render_thread_observer.cc | 13 +++++++- renderer/brave_render_thread_observer.h | 11 ++++++- 40 files changed, 94 insertions(+), 176 deletions(-) diff --git a/android/java/org/chromium/base/BraveFeatureList.java b/android/java/org/chromium/base/BraveFeatureList.java index f456765c94b..aa4c048b5fe 100644 --- a/android/java/org/chromium/base/BraveFeatureList.java +++ b/android/java/org/chromium/base/BraveFeatureList.java @@ -10,7 +10,6 @@ import org.chromium.build.annotations.NullMarked; /** A list of feature flags exposed to Java. */ @NullMarked public abstract class BraveFeatureList { - public static final String NATIVE_BRAVE_WALLET = "NativeBraveWallet"; public static final String USE_DEV_UPDATER_URL = "UseDevUpdaterUrl"; public static final String FORCE_WEB_CONTENTS_DARK_MODE = "WebContentsForceDark"; public static final String ENABLE_FORCE_DARK = "enable-force-dark"; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index 817c5c50dfe..bfd2e872e5b 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -334,11 +334,7 @@ public abstract class BraveMainPreferencesBase extends BravePreferenceFragment setPreferenceOrder(PREF_SHIELDS_AND_PRIVACY, ++featuresSectionOrder); setPreferenceOrder(PREF_BRAVE_NEWS_V2, ++featuresSectionOrder); - if (ChromeFeatureList.isEnabled(BraveFeatureList.NATIVE_BRAVE_WALLET)) { - setPreferenceOrder(PREF_BRAVE_WALLET, ++featuresSectionOrder); - } else { - removePreferenceIfPresent(PREF_BRAVE_WALLET); - } + setPreferenceOrder(PREF_BRAVE_WALLET, ++featuresSectionOrder); if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)) { setPreferenceOrder(PREF_BRAVE_PLAYLIST, ++featuresSectionOrder); diff --git a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegate.java b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegate.java index b2ce77faa7b..59b80d48fa3 100644 --- a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegate.java +++ b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegate.java @@ -141,7 +141,7 @@ public class BraveTabbedAppMenuPropertiesDelegate extends TabbedAppMenuPropertie new PolicyControlledMenuItem( R.id.brave_wallet_id, this::buildBraveWalletItem, - () -> ChromeFeatureList.isEnabled(BraveFeatureList.NATIVE_BRAVE_WALLET), + () -> true, () -> { Tab tab = mActivityTabProvider.get(); return tab != null diff --git a/android/java/org/chromium/chrome/browser/toolbar/adaptive/BraveWalletButtonController.java b/android/java/org/chromium/chrome/browser/toolbar/adaptive/BraveWalletButtonController.java index 43bcd41924c..7b0aff37b6d 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/adaptive/BraveWalletButtonController.java +++ b/android/java/org/chromium/chrome/browser/toolbar/adaptive/BraveWalletButtonController.java @@ -10,14 +10,13 @@ import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.view.View; -import org.chromium.base.BraveFeatureList; import org.chromium.base.supplier.MonotonicObservableSupplier; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.app.BraveActivity; -import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.crypto_wallet.BraveWalletPolicy; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.toolbar.optional_button.BaseButtonDataProvider; @@ -62,7 +61,9 @@ public class BraveWalletButtonController extends BaseButtonDataProvider { protected boolean shouldShowButton(@Nullable Tab tab) { if (!super.shouldShowButton(tab)) return false; - // Show the Brave Wallet button only if the feature is enabled - return ChromeFeatureList.isEnabled(BraveFeatureList.NATIVE_BRAVE_WALLET); + Profile profile = tab != null ? tab.getProfile() : null; + + // Show the Brave Wallet button only not disabled by policy. + return profile != null && !BraveWalletPolicy.isDisabledByPolicy(profile); } } diff --git a/android/junit/src/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegateUnitTest.java b/android/junit/src/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegateUnitTest.java index acc27a14813..4061780c665 100644 --- a/android/junit/src/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegateUnitTest.java +++ b/android/junit/src/org/chromium/chrome/browser/tabbed_mode/BraveTabbedAppMenuPropertiesDelegateUnitTest.java @@ -129,7 +129,6 @@ import java.util.List; }) @EnableFeatures({ BraveFeatureList.AI_CHAT, - BraveFeatureList.NATIVE_BRAVE_WALLET, }) public class BraveTabbedAppMenuPropertiesDelegateUnitTest { @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); diff --git a/browser/brave_content_browser_client.cc b/browser/brave_content_browser_client.cc index 0f4aee23166..6ba23c5b4ff 100644 --- a/browser/brave_content_browser_client.cc +++ b/browser/brave_content_browser_client.cc @@ -930,7 +930,8 @@ void BraveContentBrowserClient::RegisterBrowserInterfaceBindersForFrame( #if BUILDFLAG(ENABLE_BRAVE_WALLET) map->Add( base::BindRepeating(&MaybeBindWalletP3A)); - if (brave_wallet::IsNativeWalletEnabled()) { + if (brave_wallet::IsAllowedForContext( + render_frame_host->GetBrowserContext())) { map->Add(base::BindRepeating( &brave_wallet::BraveWalletTabHelper::BindEthereumProvider)); map->Add(base::BindRepeating( diff --git a/browser/profiles/brave_renderer_updater.cc b/browser/profiles/brave_renderer_updater.cc index 4945f970e94..6126ed01a22 100644 --- a/browser/profiles/brave_renderer_updater.cc +++ b/browser/profiles/brave_renderer_updater.cc @@ -130,10 +130,15 @@ void BraveRendererUpdater::InitializeRenderer( auto renderer_configuration = GetRendererConfiguration(render_process_host); Profile* profile = Profile::FromBrowserContext(render_process_host->GetBrowserContext()); + + bool is_brave_wallet_available = false; #if BUILDFLAG(ENABLE_BRAVE_WALLET) is_wallet_allowed_for_context_ = brave_wallet::IsAllowedForContext(profile); + is_brave_wallet_available = is_wallet_allowed_for_context_; #endif - renderer_configuration->SetInitialConfiguration(profile->IsTor()); + + renderer_configuration->SetInitialConfiguration(profile->IsTor(), + is_brave_wallet_available); UpdateRenderer(&renderer_configuration); } diff --git a/browser/resources/settings/br/privacy_page_index.ts b/browser/resources/settings/br/privacy_page_index.ts index a4862d4b422..21522132de5 100644 --- a/browser/resources/settings/br/privacy_page_index.ts +++ b/browser/resources/settings/br/privacy_page_index.ts @@ -143,8 +143,7 @@ RegisterPolymerTemplateModifications({ // // - if (loadTimeData.getBoolean('isBraveWalletAllowed') && - loadTimeData.getBoolean('isNativeBraveWalletFeatureEnabled')) { + if (loadTimeData.getBoolean('isBraveWalletAllowed')) { viewManager.appendChild(html` // - const isNativeBraveWalletEnabled = - loadTimeData.getBoolean('isNativeBraveWalletFeatureEnabled') const isCardanoDappSupportFeatureEnabled = loadTimeData.getBoolean('isCardanoDappSupportFeatureEnabled') const isBraveWalletAllowed = loadTimeData.getBoolean('isBraveWalletAllowed') - if (isNativeBraveWalletEnabled && isBraveWalletAllowed) { + if (isBraveWalletAllowed) { insertBefore(firstPermissionItem, html` diff --git a/browser/resources/settings/br/site_settings_page.ts b/browser/resources/settings/br/site_settings_page.ts index 1f293892b40..c4da158d470 100644 --- a/browser/resources/settings/br/site_settings_page.ts +++ b/browser/resources/settings/br/site_settings_page.ts @@ -144,13 +144,11 @@ RegisterPolymerComponentReplacement( } // // - const isNativeBraveWalletEnabled = - loadTimeData.getBoolean('isNativeBraveWalletFeatureEnabled') const isCardanoDappSupportFeatureEnabled = loadTimeData.getBoolean('isCardanoDappSupportFeatureEnabled') const isBraveWalletAllowed = loadTimeData.getBoolean('isBraveWalletAllowed') - if (isNativeBraveWalletEnabled && isBraveWalletAllowed) { + if (isBraveWalletAllowed) { currentIndex++ const ethereumItem = { route: routes.SITE_SETTINGS_ETHEREUM, diff --git a/browser/resources/settings/brave_appearance_page/toolbar.ts b/browser/resources/settings/brave_appearance_page/toolbar.ts index d9acf062af8..6cb9a805846 100644 --- a/browser/resources/settings/brave_appearance_page/toolbar.ts +++ b/browser/resources/settings/brave_appearance_page/toolbar.ts @@ -39,12 +39,6 @@ class SettingsBraveAppearanceToolbarElement extends SettingsBraveAppearanceToolb static get properties() { return { - // - isNativeWalletEnabled_: { - type: Boolean, - value: false, - }, - // isShowBraveShieldsInPageInfoEnabled_: { type: Boolean, value: loadTimeData.getBoolean('isShowBraveShieldsInPageInfoEnabled'), @@ -52,22 +46,8 @@ class SettingsBraveAppearanceToolbarElement extends SettingsBraveAppearanceToolb } } - // - private declare isNativeWalletEnabled_: boolean - private walletBrowserProxy_: BraveWalletBrowserProxy = BraveWalletBrowserProxyImpl.getInstance() - // private declare isShowBraveShieldsInPageInfoEnabled_: boolean - override ready() { - super.ready() - - // - this.walletBrowserProxy_.isNativeWalletEnabled().then(val => { - this.isNativeWalletEnabled_ = val - }); - // - } - /** * RouteObserverMixin */ diff --git a/browser/resources/settings/brave_routes.ts b/browser/resources/settings/brave_routes.ts index 643cc9377e4..b2f6c5fe12f 100644 --- a/browser/resources/settings/brave_routes.ts +++ b/browser/resources/settings/brave_routes.ts @@ -100,12 +100,10 @@ export default function addBraveRoutes(r: Partial) { } // // - const isNativeBraveWalletFeatureEnabled = - loadTimeData.getBoolean('isNativeBraveWalletFeatureEnabled') const isCardanoDappSupportFeatureEnabled = loadTimeData.getBoolean('isCardanoDappSupportFeatureEnabled') const isBraveWalletAllowed = loadTimeData.getBoolean('isBraveWalletAllowed') - if (isNativeBraveWalletFeatureEnabled && isBraveWalletAllowed) { + if (isBraveWalletAllowed) { r.SITE_SETTINGS_ETHEREUM = r.SITE_SETTINGS.createChild('ethereum') r.SITE_SETTINGS_SOLANA = r.SITE_SETTINGS.createChild('solana') if (isCardanoDappSupportFeatureEnabled) { diff --git a/browser/resources/settings/brave_wallet_page/brave_wallet_browser_proxy.ts b/browser/resources/settings/brave_wallet_page/brave_wallet_browser_proxy.ts index d1dca69c365..5d52907e243 100644 --- a/browser/resources/settings/brave_wallet_page/brave_wallet_browser_proxy.ts +++ b/browser/resources/settings/brave_wallet_page/brave_wallet_browser_proxy.ts @@ -46,7 +46,6 @@ export interface BraveWalletBrowserProxy { getSolanaProviderOptions: () => Promise getCardanoProviderOptions: () => Promise getTransactionSimulationOptInStatusOptions: () => Promise - isNativeWalletEnabled: () => Promise isBitcoinEnabled: () => Promise isZCashEnabled: () => Promise isZCashShieldedTxEnabled: () => Promise @@ -117,10 +116,6 @@ export class BraveWalletBrowserProxyImpl implements BraveWalletBrowserProxy { return sendWithPromise('getWeb3ProviderList') } - isNativeWalletEnabled() { - return sendWithPromise('isNativeWalletEnabled') - } - getAutoLockMinutes () { return sendWithPromise('getAutoLockMinutes') } diff --git a/browser/resources/settings/brave_wallet_page/brave_wallet_page.html b/browser/resources/settings/brave_wallet_page/brave_wallet_page.html index bd55c060c73..bac251ff05e 100644 --- a/browser/resources/settings/brave_wallet_page/brave_wallet_page.html +++ b/browser/resources/settings/brave_wallet_page/brave_wallet_page.html @@ -118,23 +118,21 @@ menu-options="[[transaction_simulation_opt_in_options_]]"> - -