Skip to content

Commit

Permalink
[DanglingPtr][linux] Dangling violations as untriaged
Browse files Browse the repository at this point in the history
This PR marks all the dangling pointers causing test crahses on linux as
`DanglingUntriaged`. This is the first step to gradually permit us to
switch on the our dangling pointer check in our CI. This change does not
include upstream patches, that may be required depending on how
difficult it becomes to fix those.

Resolves brave/brave-browser#41896
  • Loading branch information
cdesouza-chromium committed Oct 27, 2024
1 parent 5b399a1 commit 4c7c92e
Show file tree
Hide file tree
Showing 96 changed files with 179 additions and 152 deletions.
2 changes: 1 addition & 1 deletion browser/ai_chat/ai_chat_metrics_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class AIChatMetricsTest : public InProcessBrowserTest {
protected:
base::HistogramTester histogram_tester_;
std::unique_ptr<TestRenderViewContextMenu> menu_;
raw_ptr<AIChatMetrics> ai_chat_metrics_;
raw_ptr<AIChatMetrics, DanglingUntriaged> ai_chat_metrics_;
};

IN_PROC_BROWSER_TEST_F(AIChatMetricsTest, ContextMenuActions) {
Expand Down
2 changes: 1 addition & 1 deletion browser/ai_chat/ai_chat_profile_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class AIChatProfileTest : public InProcessBrowserTest,
}

protected:
raw_ptr<Browser> browser_ = nullptr;
raw_ptr<Browser, DanglingUntriaged> browser_ = nullptr;
};

IN_PROC_BROWSER_TEST_P(AIChatProfileTest, SidebarCheck) {
Expand Down
3 changes: 2 additions & 1 deletion browser/ai_chat/ai_chat_ui_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,8 @@ class AIChatUIBrowserTest : public InProcessBrowserTest {

protected:
net::test_server::EmbeddedTestServer https_server_;
raw_ptr<ai_chat::AIChatTabHelper> chat_tab_helper_ = nullptr;
raw_ptr<ai_chat::AIChatTabHelper, DanglingUntriaged> chat_tab_helper_ =
nullptr;

private:
content::ContentMockCertVerifier mock_cert_verifier_;
Expand Down
3 changes: 2 additions & 1 deletion browser/brave_ads/ads_service_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ class AdsServiceDelegate : public AdsService::Delegate {
search_engines::SearchEngineChoiceService search_engine_choice_service_;
raw_ptr<brave_adaptive_captcha::BraveAdaptiveCaptchaService>
adaptive_captcha_service_ = nullptr;
raw_ptr<NotificationDisplayService> notification_display_service_ = nullptr;
raw_ptr<NotificationDisplayService, DanglingUntriaged>
notification_display_service_ = nullptr;
std::unique_ptr<NotificationAdPlatformBridge>
notification_ad_platform_bridge_;
};
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_ads/analytics/p3a/brave_stats_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class BraveStatsHelper : public ProfileManagerObserver, public ProfileObserver {
profile_manager_observer_{this};

raw_ptr<PrefService> local_state_;
raw_ptr<ProfileManager> profile_manager_;
raw_ptr<ProfileManager, DanglingUntriaged> profile_manager_;

base::Time testing_first_run_time_;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ class BraveStatsHelperBrowserTest : public PlatformBrowserTest {
}

base::FilePath profile_one_path_;
raw_ptr<Profile> profile_one_;
raw_ptr<Profile, DanglingUntriaged> profile_one_;

base::FilePath profile_two_path_;
raw_ptr<Profile> profile_two_;
raw_ptr<Profile, DanglingUntriaged> profile_two_;

raw_ptr<ProfileManager> profile_manager_;
raw_ptr<PrefService> local_state_;
raw_ptr<BraveStatsHelper> brave_stats_helper_;
raw_ptr<ProfileManager, DanglingUntriaged> profile_manager_;
raw_ptr<PrefService, DanglingUntriaged> local_state_;
raw_ptr<BraveStatsHelper, DanglingUntriaged> brave_stats_helper_;

base::HistogramTester histogram_tester_;
};
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_ads/tabs/ads_tab_helper_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ class BraveAdsTabHelperTest : public PlatformBrowserTest {

base::CallbackListSubscription callback_list_subscription_;

raw_ptr<AdsServiceMock> ads_service_mock_ = nullptr;
raw_ptr<AdsServiceMock, DanglingUntriaged> ads_service_mock_ = nullptr;

net::EmbeddedTestServer test_server_{
net::test_server::EmbeddedTestServer::TYPE_HTTPS};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,9 @@ class BraveWalletEventEmitterTest : public InProcessBrowserTest {
private:
content::ContentMockCertVerifier mock_cert_verifier_;
mojo::Remote<brave_wallet::mojom::JsonRpcService> json_rpc_service_;
raw_ptr<BraveWalletService> brave_wallet_service_ = nullptr;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<BraveWalletService, DanglingUntriaged> brave_wallet_service_ =
nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
std::unique_ptr<net::EmbeddedTestServer> https_server_;
base::test::ScopedFeatureList feature_list_;
};
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_wallet/brave_wallet_service_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class BraveWalletServiceTest : public InProcessBrowserTest {
const net::EmbeddedTestServer* https_server() const { return &https_server_; }

private:
raw_ptr<BraveWalletService> wallet_service_ = nullptr;
raw_ptr<BraveWalletService, DanglingUntriaged> wallet_service_ = nullptr;
net::EmbeddedTestServer https_server_;
base::test::ScopedFeatureList feature_list_;
};
Expand Down
5 changes: 3 additions & 2 deletions browser/brave_wallet/brave_wallet_sign_message_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ class BraveWalletSignMessageBrowserTest : public InProcessBrowserTest {
}

protected:
raw_ptr<BraveWalletService> brave_wallet_service_ = nullptr;
raw_ptr<BraveWalletService, DanglingUntriaged> brave_wallet_service_ =
nullptr;
std::vector<std::string> methods_{"signMessage", "signMessageViaSend",
"signMessageViaSend2",
"signMessageViaSendAsync"};
Expand All @@ -150,7 +151,7 @@ class BraveWalletSignMessageBrowserTest : public InProcessBrowserTest {
content::ContentMockCertVerifier mock_cert_verifier_;
base::test::ScopedFeatureList scoped_feature_list_;
net::test_server::EmbeddedTestServer https_server_;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
};

IN_PROC_BROWSER_TEST_F(BraveWalletSignMessageBrowserTest, UserApprovedRequest) {
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_wallet/ethereum_provider_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ class EthereumProviderBrowserTest : public InProcessBrowserTest {
private:
content::ContentMockCertVerifier mock_cert_verifier_;
net::test_server::EmbeddedTestServer https_server_;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
};

IN_PROC_BROWSER_TEST_F(EthereumProviderBrowserTest, InactiveTabRequest) {
Expand Down
6 changes: 3 additions & 3 deletions browser/brave_wallet/ethereum_provider_impl_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -942,12 +942,12 @@ class EthereumProviderImplUnitTest : public testing::Test {
scoped_refptr<network::SharedURLLoaderFactory> shared_url_loader_factory_;
base::ScopedTempDir temp_dir_;
TestingProfile profile_;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
raw_ptr<AssetRatioService> asset_ratio_service_;
raw_ptr<TxService> tx_service_;
raw_ptr<TxService, DanglingUntriaged> tx_service_;

protected:
raw_ptr<JsonRpcService> json_rpc_service_ = nullptr;
raw_ptr<JsonRpcService, DanglingUntriaged> json_rpc_service_ = nullptr;
std::unique_ptr<BraveWalletService> brave_wallet_service_;
};

Expand Down
8 changes: 4 additions & 4 deletions browser/brave_wallet/send_or_sign_transaction_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -593,10 +593,10 @@ class SendOrSignTransactionBrowserTest : public InProcessBrowserTest {
base::test::ScopedFeatureList scoped_feature_list_;
net::test_server::EmbeddedTestServer https_server_for_files_;
net::test_server::EmbeddedTestServer https_server_for_rpc_;
raw_ptr<NetworkManager> network_manager_ = nullptr;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<TxService> tx_service_ = nullptr;
raw_ptr<JsonRpcService> json_rpc_service_ = nullptr;
raw_ptr<NetworkManager, DanglingUntriaged> network_manager_ = nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
raw_ptr<TxService, DanglingUntriaged> tx_service_ = nullptr;
raw_ptr<JsonRpcService, DanglingUntriaged> json_rpc_service_ = nullptr;
};

IN_PROC_BROWSER_TEST_F(SendOrSignTransactionBrowserTest,
Expand Down
9 changes: 5 additions & 4 deletions browser/brave_wallet/solana_provider_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -760,16 +760,17 @@ class SolanaProviderTest : public InProcessBrowserTest {
}

protected:
raw_ptr<BraveWalletService> brave_wallet_service_ = nullptr;
raw_ptr<KeyringService> keyring_service_ = nullptr;
raw_ptr<BraveWalletService, DanglingUntriaged> brave_wallet_service_ =
nullptr;
raw_ptr<KeyringService, DanglingUntriaged> keyring_service_ = nullptr;
bool mock_blockhash_is_valid_ = true;

private:
TestTxServiceObserver observer_;
net::test_server::EmbeddedTestServer https_server_for_files_;
net::test_server::EmbeddedTestServer https_server_for_rpc_;
raw_ptr<TxService> tx_service_ = nullptr;
raw_ptr<JsonRpcService> json_rpc_service_ = nullptr;
raw_ptr<TxService, DanglingUntriaged> tx_service_ = nullptr;
raw_ptr<JsonRpcService, DanglingUntriaged> json_rpc_service_ = nullptr;
};

IN_PROC_BROWSER_TEST_F(SolanaProviderTest, ConnectRequestInProgress) {
Expand Down
3 changes: 2 additions & 1 deletion browser/brave_wallet/wallet_watch_asset_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ class WalletWatchAssetBrowserTest : public InProcessBrowserTest {
}

protected:
raw_ptr<BraveWalletService> brave_wallet_service_ = nullptr;
raw_ptr<BraveWalletService, DanglingUntriaged> brave_wallet_service_ =
nullptr;
std::vector<std::string> methods_{"request", "send1", "send2", "sendAsync"};
std::vector<std::string> addresses_{
"0x6B175474E89094C44Da98b954EedeAC495271d0F",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ class BrowserChangeObserver : public BrowserListObserver {
}

private:
raw_ptr<Browser> browser_ = nullptr;
raw_ptr<Browser, DanglingUntriaged> browser_ = nullptr;
ChangeType type_;
base::RunLoop run_loop_;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class BraveConfigurator : public update_client::Configurator {
friend class base::RefCountedThreadSafe<BraveConfigurator>;

ConfiguratorImpl configurator_impl_;
const raw_ref<PrefService>
const raw_ref<PrefService, DanglingUntriaged>
pref_service_; // This member is not owned by this class.
std::unique_ptr<update_client::PersistedData> persisted_data_;
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
Expand Down
2 changes: 1 addition & 1 deletion browser/ephemeral_storage/blob_url_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ constexpr char kFetchBlobViaWorkerScript[] = R"(
class BlobUrlBrowserTestBase : public EphemeralStorageBrowserTest {
public:
struct RenderFrameHostBlobData {
raw_ptr<content::RenderFrameHost> rfh;
raw_ptr<content::RenderFrameHost, DanglingUntriaged> rfh;
GURL blob_url;
};
using FramesWithRegisteredBlobs = std::vector<RenderFrameHostBlobData>;
Expand Down
4 changes: 2 additions & 2 deletions browser/ephemeral_storage/ephemeral_storage_qa_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -436,8 +436,8 @@ class EphemeralStorageTest : public InProcessBrowserTest {
base::test::ScopedFeatureList feature_list_;

private:
raw_ptr<content::WebContents> original_tab_ = nullptr;
raw_ptr<TabStripModel> tabs_ = nullptr;
raw_ptr<content::WebContents, DanglingUntriaged> original_tab_ = nullptr;
raw_ptr<TabStripModel, DanglingUntriaged> tabs_ = nullptr;
};

IN_PROC_BROWSER_TEST_F(EphemeralStorageTest, CrossSiteCookiesBlockedInitial) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class BraveDarkModeFingerprintProtectionTest : public InProcessBrowserTest {
const ui::NativeTheme* GetWebTheme() const override { return theme_; }

private:
const raw_ptr<const ui::NativeTheme> theme_;
const raw_ptr<const ui::NativeTheme, DanglingUntriaged> theme_;
};

class MockColorProviderSource : public ui::ColorProviderSource {
Expand Down
4 changes: 2 additions & 2 deletions browser/net/brave_network_audit_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ class BraveNetworkAuditTest : public InProcessBrowserTest {
Profile* profile() { return browser()->profile(); }

private:

raw_ptr<brave_rewards::RewardsServiceImpl> rewards_service_ = nullptr;
raw_ptr<brave_rewards::RewardsServiceImpl, DanglingUntriaged>
rewards_service_ = nullptr;
base::FilePath net_log_path_;
base::FilePath audit_results_path_;

Expand Down
13 changes: 7 additions & 6 deletions browser/net/url_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,17 +91,18 @@ struct BraveRequestInfo {
uint64_t request_identifier = 0;
size_t next_url_request_index = 0;

raw_ptr<content::BrowserContext> browser_context = nullptr;
raw_ptr<content::BrowserContext, DanglingUntriaged> browser_context = nullptr;
raw_ptr<net::HttpRequestHeaders> headers = nullptr;
// The following two sets are populated by |OnBeforeStartTransactionCallback|.
// |set_headers| contains headers which values were added or modified.
std::set<std::string> set_headers;
std::set<std::string> removed_headers;
raw_ptr<const net::HttpResponseHeaders> original_response_headers = nullptr;
raw_ptr<scoped_refptr<net::HttpResponseHeaders>> override_response_headers =
nullptr;
raw_ptr<const net::HttpResponseHeaders, DanglingUntriaged>
original_response_headers = nullptr;
raw_ptr<scoped_refptr<net::HttpResponseHeaders>, DanglingUntriaged>
override_response_headers = nullptr;

raw_ptr<GURL> allowed_unsafe_redirect_url = nullptr;
raw_ptr<GURL, DanglingUntriaged> allowed_unsafe_redirect_url = nullptr;
BraveNetworkDelegateEventType event_type = kUnknownEventType;
BlockedBy blocked_by = kNotBlocked;
std::string mock_data_url;
Expand Down Expand Up @@ -138,7 +139,7 @@ struct BraveRequestInfo {
// We should also remove the one below.
friend class ::BraveRequestHandler;

raw_ptr<GURL> new_url = nullptr;
raw_ptr<GURL, DanglingUntriaged> new_url = nullptr;
};

// ResponseListener
Expand Down
2 changes: 1 addition & 1 deletion browser/p3a/p3a_core_metrics.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class BraveWindowTracker : public BrowserListObserver {
void UpdateP3AValues() const;

base::RepeatingTimer timer_;
raw_ptr<PrefService> local_state_ = nullptr;
raw_ptr<PrefService, DanglingUntriaged> local_state_ = nullptr;
};
#endif // !BUILDFLAG(IS_ANDROID)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ class GoogleSignInBrowserTest : public InProcessBrowserTest {
content::ContentMockCertVerifier mock_cert_verifier_;
std::unique_ptr<net::EmbeddedTestServer> https_server_;
base::test::ScopedFeatureList feature_list_;
raw_ptr<Browser> current_browser_;
raw_ptr<Browser, DanglingUntriaged> current_browser_;

private:
std::unique_ptr<permissions::MockPermissionPromptFactory> prompt_factory_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,9 @@ class LocalhostAccessBrowserTest : public InProcessBrowserTest {
std::unique_ptr<net::EmbeddedTestServer> https_server_;
std::unique_ptr<net::EmbeddedTestServer> localhost_server_;
base::test::ScopedFeatureList feature_list_;
raw_ptr<Browser> current_browser_;
raw_ptr<Browser, DanglingUntriaged> current_browser_;
std::unique_ptr<brave_shields::TestFiltersProvider> source_provider_;
raw_ptr<localhost_permission::LocalhostPermissionComponent>
raw_ptr<localhost_permission::LocalhostPermissionComponent, DanglingUntriaged>
localhost_permission_component_;

private:
Expand Down
3 changes: 2 additions & 1 deletion browser/permissions/permission_manager_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,8 @@ class PermissionManagerBrowserTest : public InProcessBrowserTest {

protected:
net::test_server::EmbeddedTestServer https_server_;
raw_ptr<BravePermissionManager> permission_manager_ = nullptr;
raw_ptr<BravePermissionManager, DanglingUntriaged> permission_manager_ =
nullptr;

private:
base::test::ScopedFeatureList scoped_feature_list_;
Expand Down
2 changes: 1 addition & 1 deletion browser/playlist/playlist_data_source.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ class PlaylistDataSource : public FaviconSource {
const net::HttpByteRange& range,
GotRangeDataCallback got_data_callback);

raw_ptr<PlaylistService> service_ = nullptr;
raw_ptr<PlaylistService, DanglingUntriaged> service_ = nullptr;
};

} // namespace playlist
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class BraveMockRenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
// An observer used for initializing the status of menu items added in this
// test. This is owned by our owner and the owner is responsible for its
// lifetime.
raw_ptr<RenderViewContextMenuObserver> observer_ = nullptr;
raw_ptr<RenderViewContextMenuObserver, DanglingUntriaged> observer_ = nullptr;

// Either a regular profile or an incognito profile.
raw_ptr<Profile> profile_ = nullptr;
Expand Down
2 changes: 1 addition & 1 deletion browser/skus/test/js_skus_api_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ class SkusAPIBrowserTest : public PlatformBrowserTest {
content::WebContents* web_contents() {
return chrome_test_utils::GetActiveWebContents(this);
}
raw_ptr<PrefService> local_state_;
raw_ptr<PrefService, DanglingUntriaged> local_state_;

protected:
net::EmbeddedTestServer https_server_{net::EmbeddedTestServer::TYPE_HTTPS};
Expand Down
2 changes: 1 addition & 1 deletion browser/tor/test/brave_tor_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ void NonBlockingDelay(base::TimeDelta delay) {
class BraveTorBrowserTest : public InProcessBrowserTest {
public:
struct TorInfo {
raw_ptr<Profile> tor_profile = nullptr;
raw_ptr<Profile, DanglingUntriaged> tor_profile = nullptr;
int tor_pid = 0;
};

Expand Down
7 changes: 4 additions & 3 deletions browser/ui/ai_chat/ai_chat_tab_helper_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,10 @@ class AIChatTabHelperUnitTest : public content::RenderViewHostTestHarness,
protected:
NiceMock<favicon::MockFaviconService> favicon_service_;
std::unique_ptr<NiceMock<MockAssociatedContentObserver>> observer_;
raw_ptr<AIChatTabHelper> helper_;
raw_ptr<MockPrintPreviewExtractor> print_preview_extractor_;
raw_ptr<MockPageContentFetcher> page_content_fetcher_;
raw_ptr<AIChatTabHelper, DanglingUntriaged> helper_;
raw_ptr<MockPrintPreviewExtractor, DanglingUntriaged>
print_preview_extractor_;
raw_ptr<MockPageContentFetcher, DanglingUntriaged> page_content_fetcher_;
bool is_print_preview_supported_ = true;
};

Expand Down
2 changes: 1 addition & 1 deletion browser/ui/commander/commander_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class CommanderService : public CommanderFrontendDelegate,
std::u16string prompt_;
std::vector<std::unique_ptr<CommandItem>> items_;
uint32_t current_result_set_id_ = 0;
raw_ptr<Browser> last_browser_;
raw_ptr<Browser, DanglingUntriaged> last_browser_;
raw_ptr<Profile> profile_;

// Some commands have multiple steps (like move tab to window, pick a
Expand Down
2 changes: 1 addition & 1 deletion browser/ui/sidebar/sidebar_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ class SidebarBrowserTest : public InProcessBrowserTest {
return false;
}

raw_ptr<views::View> item_added_bubble_anchor_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> item_added_bubble_anchor_ = nullptr;
std::unique_ptr<base::RunLoop> run_loop_;
base::WeakPtrFactory<SidebarBrowserTest> weak_factory_{this};
};
Expand Down
2 changes: 1 addition & 1 deletion browser/ui/sidebar/sidebar_controller.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class SidebarController : public SidebarService::Observer {

raw_ptr<BraveBrowser> browser_ = nullptr;
// Interface to view.
raw_ptr<Sidebar> sidebar_ = nullptr;
raw_ptr<Sidebar, DanglingUntriaged> sidebar_ = nullptr;

std::unique_ptr<SidebarModel> sidebar_model_;
base::ScopedObservation<SidebarService, SidebarService::Observer>
Expand Down
Loading

0 comments on commit 4c7c92e

Please sign in to comment.