From 09d55c0edffabd9485cd6c603e97a0864e2f8d7d Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 13 Oct 2024 13:34:57 +0100 Subject: [PATCH] [DanglingPtr] Enable dangling pointer checks This change enables dangling pointer checks, which had been disabled through `enable_dangling_raw_ptr_feature_flag`. With this flag on, `BackRefPtr` checks will be checked when running browser tests. This change additionally tags several pointers as `DanglingUntriaged`. This will allow us to gradually investigate, and enable dangling pointer checks for these particular pointers. --- .../brave_ads/analytics/p3a/brave_stats_helper.h | 2 +- .../ethereum_provider_impl_unittest.cc | 6 +++--- browser/net/url_context.h | 3 ++- browser/playlist/playlist_data_source.h | 2 +- browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc | 7 ++++--- browser/ui/commander/commander_service.h | 2 +- browser/ui/sidebar/sidebar_controller.h | 2 +- browser/ui/views/frame/brave_browser_root_view.h | 2 +- browser/ui/views/frame/brave_browser_view.h | 2 +- .../ui/views/frame/brave_browser_view_layout.h | 6 +++--- .../brave_contents_layout_manager_unittest.cc | 14 ++++++++------ .../sidebar_show_options_event_detect_widget.h | 2 +- .../ui/views/split_view/split_view_separator.h | 3 ++- browser/ui/views/toolbar/brave_vpn_button.cc | 4 ++-- browser/ui/views/toolbar/brave_vpn_button.h | 4 ++-- build/commands/lib/config.js | 2 +- .../privacy_sandbox_settings_unittest.cc | 2 +- .../core/browser/ai_chat_service_unittest.cc | 2 +- .../ai_chat/core/browser/conversation_handler.h | 6 +++--- .../core/browser/engine/conversation_api_client.h | 2 +- .../browser/brave_component.h | 2 +- components/brave_vpn/browser/brave_vpn_service.h | 3 ++- .../browser/bitcoin/bitcoin_wallet_service.h | 2 +- .../browser/brave_wallet_p3a_unittest.cc | 4 ++-- .../brave_wallet/browser/json_rpc_service.h | 4 ++-- components/brave_wallet/browser/network_manager.h | 2 +- .../brave_wallet/browser/nft_metadata_fetcher.h | 2 +- .../browser/tx_storage_delegate_impl.h | 2 +- .../wallet_data_files_installer_unittest.cc | 2 +- .../browser/zcash/zcash_block_tracker.h | 2 +- .../brave_wallet/browser/zcash/zcash_tx_manager.h | 2 +- .../browser/ntp_custom_images_source.h | 3 ++- components/p3a/constellation_log_store.h | 2 +- components/p3a/message_manager.h | 2 +- components/p3a/metric_log_store.h | 2 +- components/p3a/p3a_message.h | 2 +- components/p3a/rotation_scheduler.h | 2 +- components/p3a/star_randomness_meta.h | 2 +- ...-partition_allocator-partition_alloc.gni.patch | 15 +++++++++++++++ ...nts-omnibox-browser-autocomplete_match.h.patch | 13 +++++++++++++ ...weak_wrapper_shared_url_loader_factory.h.patch | 13 +++++++++++++ 41 files changed, 103 insertions(+), 55 deletions(-) create mode 100644 patches/base-allocator-partition_allocator-partition_alloc.gni.patch create mode 100644 patches/components-omnibox-browser-autocomplete_match.h.patch create mode 100644 patches/services-network-public-cpp-weak_wrapper_shared_url_loader_factory.h.patch diff --git a/browser/brave_ads/analytics/p3a/brave_stats_helper.h b/browser/brave_ads/analytics/p3a/brave_stats_helper.h index 4c5d9a8b3da0..fc2b21756362 100644 --- a/browser/brave_ads/analytics/p3a/brave_stats_helper.h +++ b/browser/brave_ads/analytics/p3a/brave_stats_helper.h @@ -55,7 +55,7 @@ class BraveStatsHelper : public ProfileManagerObserver, public ProfileObserver { profile_manager_observer_{this}; raw_ptr local_state_; - raw_ptr profile_manager_; + raw_ptr profile_manager_; base::Time testing_first_run_time_; }; diff --git a/browser/brave_wallet/ethereum_provider_impl_unittest.cc b/browser/brave_wallet/ethereum_provider_impl_unittest.cc index 5d0d468d3b8b..e3f7107e77dd 100644 --- a/browser/brave_wallet/ethereum_provider_impl_unittest.cc +++ b/browser/brave_wallet/ethereum_provider_impl_unittest.cc @@ -942,12 +942,12 @@ class EthereumProviderImplUnitTest : public testing::Test { scoped_refptr shared_url_loader_factory_; base::ScopedTempDir temp_dir_; TestingProfile profile_; - raw_ptr keyring_service_ = nullptr; + raw_ptr keyring_service_ = nullptr; raw_ptr asset_ratio_service_; - raw_ptr tx_service_; + raw_ptr tx_service_; protected: - raw_ptr json_rpc_service_ = nullptr; + raw_ptr json_rpc_service_ = nullptr; std::unique_ptr brave_wallet_service_; }; diff --git a/browser/net/url_context.h b/browser/net/url_context.h index e287800c963f..9ec6f0ae9c5d 100644 --- a/browser/net/url_context.h +++ b/browser/net/url_context.h @@ -97,7 +97,8 @@ struct BraveRequestInfo { // |set_headers| contains headers which values were added or modified. std::set set_headers; std::set removed_headers; - raw_ptr original_response_headers = nullptr; + raw_ptr + original_response_headers = nullptr; raw_ptr> override_response_headers = nullptr; diff --git a/browser/playlist/playlist_data_source.h b/browser/playlist/playlist_data_source.h index 7929c066828c..bc7a47888102 100644 --- a/browser/playlist/playlist_data_source.h +++ b/browser/playlist/playlist_data_source.h @@ -68,7 +68,7 @@ class PlaylistDataSource : public FaviconSource { const net::HttpByteRange& range, GotRangeDataCallback got_data_callback); - raw_ptr service_ = nullptr; + raw_ptr service_ = nullptr; }; } // namespace playlist diff --git a/browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc b/browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc index afbc788cbf46..4fa38922747c 100644 --- a/browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc +++ b/browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc @@ -150,9 +150,10 @@ class AIChatTabHelperUnitTest : public content::RenderViewHostTestHarness, protected: NiceMock favicon_service_; std::unique_ptr> observer_; - raw_ptr helper_; - raw_ptr print_preview_extractor_; - raw_ptr page_content_fetcher_; + raw_ptr helper_; + raw_ptr + print_preview_extractor_; + raw_ptr page_content_fetcher_; bool is_print_preview_supported_ = true; }; diff --git a/browser/ui/commander/commander_service.h b/browser/ui/commander/commander_service.h index 0a65ea237d15..6ea1108ae486 100644 --- a/browser/ui/commander/commander_service.h +++ b/browser/ui/commander/commander_service.h @@ -78,7 +78,7 @@ class CommanderService : public CommanderFrontendDelegate, std::u16string prompt_; std::vector> items_; uint32_t current_result_set_id_ = 0; - raw_ptr last_browser_; + raw_ptr last_browser_; raw_ptr profile_; // Some commands have multiple steps (like move tab to window, pick a diff --git a/browser/ui/sidebar/sidebar_controller.h b/browser/ui/sidebar/sidebar_controller.h index 77dcc13ac44f..97d765d00e08 100644 --- a/browser/ui/sidebar/sidebar_controller.h +++ b/browser/ui/sidebar/sidebar_controller.h @@ -90,7 +90,7 @@ class SidebarController : public SidebarService::Observer { raw_ptr browser_ = nullptr; // Interface to view. - raw_ptr sidebar_ = nullptr; + raw_ptr sidebar_ = nullptr; std::unique_ptr sidebar_model_; base::ScopedObservation diff --git a/browser/ui/views/frame/brave_browser_root_view.h b/browser/ui/views/frame/brave_browser_root_view.h index eb207ac65233..3d6e70efe421 100644 --- a/browser/ui/views/frame/brave_browser_root_view.h +++ b/browser/ui/views/frame/brave_browser_root_view.h @@ -32,7 +32,7 @@ class BraveBrowserRootView : public BrowserRootView, void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override; private: - raw_ptr browser_ = nullptr; + raw_ptr browser_ = nullptr; base::ScopedObservation theme_observation_{this}; }; diff --git a/browser/ui/views/frame/brave_browser_view.h b/browser/ui/views/frame/brave_browser_view.h index ed60dccbb57a..616b56adefa0 100644 --- a/browser/ui/views/frame/brave_browser_view.h +++ b/browser/ui/views/frame/brave_browser_view.h @@ -214,7 +214,7 @@ class BraveBrowserView : public BrowserView, raw_ptr sidebar_separator_view_ = nullptr; raw_ptr contents_background_view_ = nullptr; raw_ptr vertical_tab_strip_host_view_ = nullptr; - raw_ptr + raw_ptr vertical_tab_strip_widget_delegate_view_ = nullptr; #if defined(USE_AURA) diff --git a/browser/ui/views/frame/brave_browser_view_layout.h b/browser/ui/views/frame/brave_browser_view_layout.h index a24572a2d5f0..2baef7260448 100644 --- a/browser/ui/views/frame/brave_browser_view_layout.h +++ b/browser/ui/views/frame/brave_browser_view_layout.h @@ -65,9 +65,9 @@ class BraveBrowserViewLayout : public BrowserViewLayout { gfx::Insets AdjustInsetsConsideringFrameBorder(const gfx::Insets& insets); #endif - raw_ptr vertical_tab_strip_host_ = nullptr; - raw_ptr reader_mode_toolbar_ = nullptr; - raw_ptr sidebar_container_ = nullptr; + raw_ptr vertical_tab_strip_host_ = nullptr; + raw_ptr reader_mode_toolbar_ = nullptr; + raw_ptr sidebar_container_ = nullptr; raw_ptr sidebar_separator_ = nullptr; raw_ptr contents_background_ = nullptr; }; diff --git a/browser/ui/views/frame/brave_contents_layout_manager_unittest.cc b/browser/ui/views/frame/brave_contents_layout_manager_unittest.cc index 92d4828750e5..b91130869b6a 100644 --- a/browser/ui/views/frame/brave_contents_layout_manager_unittest.cc +++ b/browser/ui/views/frame/brave_contents_layout_manager_unittest.cc @@ -61,12 +61,14 @@ class BraveContentsLayoutManagerUnitTest : public testing::Test { base::test::ScopedFeatureList scoped_feature_; std::unique_ptr contents_container_; - raw_ptr contents_view_ = nullptr; - raw_ptr devtools_view_ = nullptr; - raw_ptr secondary_contents_view_ = nullptr; - raw_ptr secondary_devtools_view_ = nullptr; - raw_ptr split_view_separator_ = nullptr; - raw_ptr layout_manager_ = nullptr; + raw_ptr contents_view_ = nullptr; + raw_ptr devtools_view_ = nullptr; + raw_ptr secondary_contents_view_ = nullptr; + raw_ptr secondary_devtools_view_ = nullptr; + raw_ptr split_view_separator_ = + nullptr; + raw_ptr layout_manager_ = + nullptr; }; TEST_F(BraveContentsLayoutManagerUnitTest, diff --git a/browser/ui/views/sidebar/sidebar_show_options_event_detect_widget.h b/browser/ui/views/sidebar/sidebar_show_options_event_detect_widget.h index 9e2b55b17869..d59ee13a07d0 100644 --- a/browser/ui/views/sidebar/sidebar_show_options_event_detect_widget.h +++ b/browser/ui/views/sidebar/sidebar_show_options_event_detect_widget.h @@ -64,7 +64,7 @@ class SidebarShowOptionsEventDetectWidget : public views::ViewObserver, bool sidebar_on_left_ = true; raw_ref browser_view_; - raw_ptr contents_view_ = nullptr; + raw_ptr contents_view_ = nullptr; raw_ref delegate_; std::unique_ptr widget_; base::ScopedObservation observation_{this}; diff --git a/browser/ui/views/split_view/split_view_separator.h b/browser/ui/views/split_view/split_view_separator.h index 7684278cf4fb..668845ea0279 100644 --- a/browser/ui/views/split_view/split_view_separator.h +++ b/browser/ui/views/split_view/split_view_separator.h @@ -58,7 +58,8 @@ class SplitViewSeparator : public views::ResizeArea, raw_ptr browser_ = nullptr; - raw_ptr resize_area_delegate_ = nullptr; + raw_ptr resize_area_delegate_ = + nullptr; raw_ptr menu_button_widget_ = nullptr; diff --git a/browser/ui/views/toolbar/brave_vpn_button.cc b/browser/ui/views/toolbar/brave_vpn_button.cc index 76e463d6a905..30cb1932cb0c 100644 --- a/browser/ui/views/toolbar/brave_vpn_button.cc +++ b/browser/ui/views/toolbar/brave_vpn_button.cc @@ -111,8 +111,8 @@ class VPNButtonMenuModel : public ui::SimpleMenuModel, } } - raw_ptr browser_ = nullptr; - raw_ptr service_ = nullptr; + raw_ptr browser_ = nullptr; + raw_ptr service_ = nullptr; }; } // namespace diff --git a/browser/ui/views/toolbar/brave_vpn_button.h b/browser/ui/views/toolbar/brave_vpn_button.h index d6995ac5f9d7..09fece817ad9 100644 --- a/browser/ui/views/toolbar/brave_vpn_button.h +++ b/browser/ui/views/toolbar/brave_vpn_button.h @@ -70,8 +70,8 @@ class BraveVPNButton : public ToolbarButton, bool is_connected_ = false; std::optional connection_state_for_testing_; - raw_ptr browser_ = nullptr; - raw_ptr service_ = nullptr; + raw_ptr browser_ = nullptr; + raw_ptr service_ = nullptr; raw_ptr menu_button_controller_ = nullptr; }; diff --git a/build/commands/lib/config.js b/build/commands/lib/config.js index c7de4a339a63..b20ac9ceb908 100644 --- a/build/commands/lib/config.js +++ b/build/commands/lib/config.js @@ -425,11 +425,11 @@ Config.prototype.buildArgs = function () { brave_services_production_domain: this.braveServicesProductionDomain, brave_services_staging_domain: this.braveServicesStagingDomain, brave_services_dev_domain: this.braveServicesDevDomain, - enable_dangling_raw_ptr_feature_flag: false, brave_services_key_id: this.brave_services_key_id, service_key_aichat: this.service_key_aichat, service_key_stt: this.service_key_stt, generate_about_credits: true, + enable_backup_ref_ptr_instance_tracer: true, } if (!this.isBraveReleaseBuild()) { diff --git a/chromium_src/components/privacy_sandbox/privacy_sandbox_settings_unittest.cc b/chromium_src/components/privacy_sandbox/privacy_sandbox_settings_unittest.cc index f3a317fb63c8..5b5044cd966f 100644 --- a/chromium_src/components/privacy_sandbox/privacy_sandbox_settings_unittest.cc +++ b/chromium_src/components/privacy_sandbox/privacy_sandbox_settings_unittest.cc @@ -188,7 +188,7 @@ class PrivacySandboxSettingsTest : public testing::Test { tracking_protection_settings_; std::unique_ptr privacy_sandbox_settings_; - raw_ptr mock_delegate_; + raw_ptr mock_delegate_; }; TEST_F(PrivacySandboxSettingsTest, PreferenceOverridesDefaultContentSetting) { diff --git a/components/ai_chat/core/browser/ai_chat_service_unittest.cc b/components/ai_chat/core/browser/ai_chat_service_unittest.cc index 0f6a9fc0d3bf..22c508e80b46 100644 --- a/components/ai_chat/core/browser/ai_chat_service_unittest.cc +++ b/components/ai_chat/core/browser/ai_chat_service_unittest.cc @@ -172,7 +172,7 @@ class MockConversationHandlerClient : public mojom::ConversationUI { private: mojo::Receiver conversation_ui_receiver_{this}; mojo::Remote conversation_handler_remote_; - raw_ptr conversation_handler_; + raw_ptr conversation_handler_; }; class MockAssociatedContent diff --git a/components/ai_chat/core/browser/conversation_handler.h b/components/ai_chat/core/browser/conversation_handler.h index 1c7292d4a6cc..d443fd7c5975 100644 --- a/components/ai_chat/core/browser/conversation_handler.h +++ b/components/ai_chat/core/browser/conversation_handler.h @@ -359,10 +359,10 @@ class ConversationHandler : public mojom::ConversationHandler, // Data store UUID for conversation raw_ptr metadata_; - raw_ptr ai_chat_service_; + raw_ptr ai_chat_service_; raw_ptr model_service_; - raw_ptr credential_manager_; - raw_ptr feedback_api_; + raw_ptr credential_manager_; + raw_ptr feedback_api_; scoped_refptr url_loader_factory_; base::ScopedObservation diff --git a/components/ai_chat/core/browser/engine/conversation_api_client.h b/components/ai_chat/core/browser/engine/conversation_api_client.h index 31251e84d0c4..cfbf773fced2 100644 --- a/components/ai_chat/core/browser/engine/conversation_api_client.h +++ b/components/ai_chat/core/browser/engine/conversation_api_client.h @@ -107,7 +107,7 @@ class ConversationAPIClient { const std::string model_name_; std::unique_ptr api_request_helper_; - raw_ptr credential_manager_; + raw_ptr credential_manager_; base::WeakPtrFactory weak_ptr_factory_{this}; }; diff --git a/components/brave_component_updater/browser/brave_component.h b/components/brave_component_updater/browser/brave_component.h index 5ad80a2cc83d..f36a97adf3ad 100644 --- a/components/brave_component_updater/browser/brave_component.h +++ b/components/brave_component_updater/browser/brave_component.h @@ -100,7 +100,7 @@ class BraveComponent { std::string component_name_; std::string component_id_; std::string component_base64_public_key_; - raw_ptr delegate_ = nullptr; // NOT OWNED + raw_ptr delegate_ = nullptr; base::WeakPtrFactory weak_factory_; }; diff --git a/components/brave_vpn/browser/brave_vpn_service.h b/components/brave_vpn/browser/brave_vpn_service.h index b1884b5f2cf5..7ce9219e9cc3 100644 --- a/components/brave_vpn/browser/brave_vpn_service.h +++ b/components/brave_vpn/browser/brave_vpn_service.h @@ -234,7 +234,8 @@ class BraveVpnService : BraveVPNConnectionManager::Observer> observed_{this}; bool wait_region_data_ready_ = false; - raw_ptr connection_manager_ = nullptr; + raw_ptr connection_manager_ = + nullptr; PrefChangeRegistrar policy_pref_change_registrar_; #endif // !BUILDFLAG(IS_ANDROID) diff --git a/components/brave_wallet/browser/bitcoin/bitcoin_wallet_service.h b/components/brave_wallet/browser/bitcoin/bitcoin_wallet_service.h index f9e38b106b2f..e8609474d80c 100644 --- a/components/brave_wallet/browser/bitcoin/bitcoin_wallet_service.h +++ b/components/brave_wallet/browser/bitcoin/bitcoin_wallet_service.h @@ -171,7 +171,7 @@ class BitcoinWalletService : public mojom::BitcoinWalletService, const mojom::BitcoinSignature& hw_signature); void CreateTransactionTaskDone(CreateTransactionTask* task); - raw_ptr keyring_service_; + raw_ptr keyring_service_; scoped_refptr url_loader_factory_; std::list> create_transaction_tasks_; std::list> diff --git a/components/brave_wallet/browser/brave_wallet_p3a_unittest.cc b/components/brave_wallet/browser/brave_wallet_p3a_unittest.cc index 423e5c2cb23d..949e6c8001f3 100644 --- a/components/brave_wallet/browser/brave_wallet_p3a_unittest.cc +++ b/components/brave_wallet/browser/brave_wallet_p3a_unittest.cc @@ -351,8 +351,8 @@ class BraveWalletP3AUnitTest : public testing::Test { sync_preferences::TestingPrefServiceSyncable local_state_; std::unique_ptr histogram_tester_; std::unique_ptr bitcoin_test_rpc_server_; - raw_ptr keyring_service_; - raw_ptr tx_service_; + raw_ptr keyring_service_; + raw_ptr tx_service_; std::unique_ptr brave_wallet_service_; raw_ptr wallet_p3a_; scoped_refptr shared_url_loader_factory_; diff --git a/components/brave_wallet/browser/json_rpc_service.h b/components/brave_wallet/browser/json_rpc_service.h index 686a564d7eab..bf7ee292923f 100644 --- a/components/brave_wallet/browser/json_rpc_service.h +++ b/components/brave_wallet/browser/json_rpc_service.h @@ -818,8 +818,8 @@ class JsonRpcService : public mojom::JsonRpcService { mojo::ReceiverSet receivers_; raw_ptr network_manager_ = nullptr; - const raw_ptr prefs_ = nullptr; - const raw_ptr local_state_prefs_ = nullptr; + const raw_ptr prefs_ = nullptr; + const raw_ptr local_state_prefs_ = nullptr; std::unique_ptr nft_metadata_fetcher_; std::unique_ptr simple_hash_client_; base::WeakPtrFactory weak_ptr_factory_{this}; diff --git a/components/brave_wallet/browser/network_manager.h b/components/brave_wallet/browser/network_manager.h index 8c677e8ae36d..9a93eca9669c 100644 --- a/components/brave_wallet/browser/network_manager.h +++ b/components/brave_wallet/browser/network_manager.h @@ -83,7 +83,7 @@ class NetworkManager { const std::string& network_id); private: - raw_ptr prefs_ = nullptr; + raw_ptr prefs_ = nullptr; }; } // namespace brave_wallet diff --git a/components/brave_wallet/browser/nft_metadata_fetcher.h b/components/brave_wallet/browser/nft_metadata_fetcher.h index 33589d99a811..e416996e8442 100644 --- a/components/brave_wallet/browser/nft_metadata_fetcher.h +++ b/components/brave_wallet/browser/nft_metadata_fetcher.h @@ -103,7 +103,7 @@ class NftMetadataFetcher { scoped_refptr url_loader_factory_; std::unique_ptr api_request_helper_; raw_ptr json_rpc_service_ = nullptr; - raw_ptr prefs_ = nullptr; + raw_ptr prefs_ = nullptr; base::WeakPtrFactory weak_ptr_factory_; }; diff --git a/components/brave_wallet/browser/tx_storage_delegate_impl.h b/components/brave_wallet/browser/tx_storage_delegate_impl.h index ae8605860153..febf9e050c16 100644 --- a/components/brave_wallet/browser/tx_storage_delegate_impl.h +++ b/components/brave_wallet/browser/tx_storage_delegate_impl.h @@ -80,7 +80,7 @@ class TxStorageDelegateImpl final : public TxStorageDelegate { std::unique_ptr store_; - raw_ptr prefs_; + raw_ptr prefs_; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/components/brave_wallet/browser/wallet_data_files_installer_unittest.cc b/components/brave_wallet/browser/wallet_data_files_installer_unittest.cc index f02d928ddd5f..ee232c7d08dd 100644 --- a/components/brave_wallet/browser/wallet_data_files_installer_unittest.cc +++ b/components/brave_wallet/browser/wallet_data_files_installer_unittest.cc @@ -228,7 +228,7 @@ class WalletDataFilesInstallerUnitTest : public testing::Test { network::TestURLLoaderFactory url_loader_factory_; scoped_refptr shared_url_loader_factory_; data_decoder::test::InProcessDataDecoder in_process_data_decoder_; - raw_ptr keyring_service_; + raw_ptr keyring_service_; std::unique_ptr brave_wallet_service_; std::unique_ptr cus_; base::FilePath install_dir_; diff --git a/components/brave_wallet/browser/zcash/zcash_block_tracker.h b/components/brave_wallet/browser/zcash/zcash_block_tracker.h index bad5c5d0783f..b5e2f689ca60 100644 --- a/components/brave_wallet/browser/zcash/zcash_block_tracker.h +++ b/components/brave_wallet/browser/zcash/zcash_block_tracker.h @@ -50,7 +50,7 @@ class ZCashBlockTracker : public BlockTracker { std::map latest_height_map_; base::ObserverList observers_; - raw_ptr zcash_rpc_ = nullptr; + raw_ptr zcash_rpc_ = nullptr; base::WeakPtrFactory weak_ptr_factory_{this}; }; diff --git a/components/brave_wallet/browser/zcash/zcash_tx_manager.h b/components/brave_wallet/browser/zcash/zcash_tx_manager.h index b2d115e5c686..9c2bcfda8570 100644 --- a/components/brave_wallet/browser/zcash/zcash_tx_manager.h +++ b/components/brave_wallet/browser/zcash/zcash_tx_manager.h @@ -85,7 +85,7 @@ class ZCashTxManager : public TxManager, public ZCashBlockTracker::Observer { base::expected confirm_status); raw_ptr zcash_wallet_service_ = nullptr; - raw_ptr zcash_rpc_ = nullptr; + raw_ptr zcash_rpc_ = nullptr; base::ScopedObservation block_tracker_observation_{this}; base::WeakPtrFactory weak_factory_{this}; diff --git a/components/ntp_background_images/browser/ntp_custom_images_source.h b/components/ntp_background_images/browser/ntp_custom_images_source.h index 0f48f1031534..8ffba93f3601 100644 --- a/components/ntp_background_images/browser/ntp_custom_images_source.h +++ b/components/ntp_background_images/browser/ntp_custom_images_source.h @@ -43,7 +43,8 @@ class NTPCustomImagesSource : public content::URLDataSource { GotDataCallback callback); void OnGotImageFile(GotDataCallback callback, const std::string& input); - raw_ptr service_ = nullptr; // not owned + raw_ptr service_ = + nullptr; // not owned base::WeakPtrFactory weak_factory_; }; diff --git a/components/p3a/constellation_log_store.h b/components/p3a/constellation_log_store.h index c37380b069f6..32577a4209ab 100644 --- a/components/p3a/constellation_log_store.h +++ b/components/p3a/constellation_log_store.h @@ -86,7 +86,7 @@ class ConstellationLogStore : public metrics::LogStore { size_t GetMaxEpochsToRetain() const; - const raw_ref local_state_; + const raw_ref local_state_; MetricLogType log_type_; base::flat_map log_; diff --git a/components/p3a/message_manager.h b/components/p3a/message_manager.h index eff42f665b31..8b55ebfc2db4 100644 --- a/components/p3a/message_manager.h +++ b/components/p3a/message_manager.h @@ -123,7 +123,7 @@ class MessageManager : public MetricLogStore::Delegate { bool IsActualMetric(const std::string& histogram_name) const override; bool IsEphemeralMetric(const std::string& histogram_name) const override; - const raw_ref local_state_; + const raw_ref local_state_; MessageMetainfo message_meta_; diff --git a/components/p3a/metric_log_store.h b/components/p3a/metric_log_store.h index ac5da4185238..b1b4c7b8d228 100644 --- a/components/p3a/metric_log_store.h +++ b/components/p3a/metric_log_store.h @@ -102,7 +102,7 @@ class MetricLogStore : public metrics::LogStore { const char* GetPrefName() const; const raw_ref delegate_; - const raw_ref local_state_; + const raw_ref local_state_; MetricLogType type_; diff --git a/components/p3a/p3a_message.h b/components/p3a/p3a_message.h index 6a099552093a..dc401ba4fa9f 100644 --- a/components/p3a/p3a_message.h +++ b/components/p3a/p3a_message.h @@ -59,7 +59,7 @@ class MessageMetainfo { // attributes. void MaybeStripCountry(); - raw_ptr local_state_ = nullptr; + raw_ptr local_state_ = nullptr; }; base::Value::Dict GenerateP3AMessageDict(std::string_view metric_name, diff --git a/components/p3a/rotation_scheduler.h b/components/p3a/rotation_scheduler.h index 5582d38f97cd..8a216a3c72b3 100644 --- a/components/p3a/rotation_scheduler.h +++ b/components/p3a/rotation_scheduler.h @@ -65,7 +65,7 @@ class RotationScheduler { base::flat_map last_json_rotation_times_; base::flat_map last_constellation_rotation_times_; - const raw_ref local_state_; + const raw_ref local_state_; const raw_ptr config_; }; diff --git a/components/p3a/star_randomness_meta.h b/components/p3a/star_randomness_meta.h index bfdadd70c66b..7c7b3d2e37c5 100644 --- a/components/p3a/star_randomness_meta.h +++ b/components/p3a/star_randomness_meta.h @@ -109,7 +109,7 @@ class StarRandomnessMeta { scoped_refptr url_loader_factory_; - const raw_ptr local_state_; + const raw_ptr local_state_; base::flat_map> update_states_; diff --git a/patches/base-allocator-partition_allocator-partition_alloc.gni.patch b/patches/base-allocator-partition_allocator-partition_alloc.gni.patch new file mode 100644 index 000000000000..e3d7c0e5ca1f --- /dev/null +++ b/patches/base-allocator-partition_allocator-partition_alloc.gni.patch @@ -0,0 +1,15 @@ +diff --git a/base/allocator/partition_allocator/partition_alloc.gni b/base/allocator/partition_allocator/partition_alloc.gni +index 2b589ddd153214e237c1028f6be736351754a6f0..f320b815d1a500dffc299471140a21ff2e5d03c7 100644 +--- a/base/allocator/partition_allocator/partition_alloc.gni ++++ b/base/allocator/partition_allocator/partition_alloc.gni +@@ -284,7 +284,9 @@ stack_scan_supported = + # - has_memory_tagging + if (!use_partition_alloc || + (defined(toolchain_allows_use_partition_alloc_as_malloc) && +- !toolchain_allows_use_partition_alloc_as_malloc)) { ++ !toolchain_allows_use_partition_alloc_as_malloc) || ++ (defined(toolchain_for_rust_host_build_tools) && ++ toolchain_for_rust_host_build_tools)) { + use_partition_alloc_as_malloc = false + glue_core_pools = false + enable_backup_ref_ptr_support = false diff --git a/patches/components-omnibox-browser-autocomplete_match.h.patch b/patches/components-omnibox-browser-autocomplete_match.h.patch new file mode 100644 index 000000000000..1a0f6a014636 --- /dev/null +++ b/patches/components-omnibox-browser-autocomplete_match.h.patch @@ -0,0 +1,13 @@ +diff --git a/components/omnibox/browser/autocomplete_match.h b/components/omnibox/browser/autocomplete_match.h +index 0fbc00afa1a8a885ba9ee26e32317c9b5cb68f91..5748bbc35569775bcc33c8b9e53cf97381fe71b1 100644 +--- a/components/omnibox/browser/autocomplete_match.h ++++ b/components/omnibox/browser/autocomplete_match.h +@@ -717,7 +717,7 @@ struct AutocompleteMatch { + // The provider of this match, used to remember which provider the user had + // selected when the input changes. This may be NULL, in which case there is + // no provider (or memory of the user's selection). +- raw_ptr provider = nullptr; ++ raw_ptr provider = nullptr; + + // The relevance of this match. See table in autocomplete_provider.h for + // scores returned by various providers. This is used to rank matches among diff --git a/patches/services-network-public-cpp-weak_wrapper_shared_url_loader_factory.h.patch b/patches/services-network-public-cpp-weak_wrapper_shared_url_loader_factory.h.patch new file mode 100644 index 000000000000..a9e5a9deedd8 --- /dev/null +++ b/patches/services-network-public-cpp-weak_wrapper_shared_url_loader_factory.h.patch @@ -0,0 +1,13 @@ +diff --git a/services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h b/services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h +index fa4528f1508945df540c1a58a58f1ae85e07da11..84c2611edad6e828d5d646c0251c9066313acd4f 100644 +--- a/services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h ++++ b/services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h +@@ -60,7 +60,7 @@ class COMPONENT_EXPORT(NETWORK_CPP) WeakWrapperSharedURLLoaderFactory + base::OnceCallback make_factory_ptr_; + + // Not owned. +- raw_ptr factory_ptr_ = nullptr; ++ raw_ptr factory_ptr_ = nullptr; + }; + + } // namespace network