0

DanglingPtr: Mark all of them as untriaged [1/N]

This patch must be a no-op with all the common build flags.

Add the "DanglingUntriaged" raw_ptr annotation. It indicates a
raw_ptr becomes dangling, and it should be triaged/fixed. This will also disable dangling protection for those pointers, once enabled.

These were identified by running the CQ bots with DPD activated (both build + runtime here: https://crrev.com/c/3941825)

Bug: 1291138
Change-Id: I07e3d85b1c629f7d49c928f1fca42a538c64ef3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3959615
Owners-Override: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Pâris Meuleman <pmeuleman@chromium.org>
Commit-Queue: Ali Hijazi <ahijazi@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1061867}
This commit is contained in:
Ali Hijazi
2022-10-20 22:59:31 +00:00
committed by Chromium LUCI CQ
parent b71070e35c
commit 4d4e24099b
325 changed files with 718 additions and 613 deletions
apps/ui/views
base
cc
chrome
browser
apps
autofill
background
background_fetch
background_sync
banners
bluetooth
browsing_data
cart
commerce
download
enterprise
extensions
font_family_cache.h
importer
notifications
password_manager
policy
profiles
sharing
signin
subresource_filter
sync
sync_file_system
themes
ui
autofill
bookmarks
commerce
extensions
passwords
tabs
test
views
web_applications
webui
vr
web_applications
test
chromeos/ui/frame
components
autofill
core
browser
autofill_assistant
background_sync
bookmarks
commerce
content
content_capture
dbus
menu
dom_distiller
download
internal
background_service
error_page
fullscreen_control
gcm_driver
guest_view
history
leveldb_proto
live_caption
metrics
omnibox
optimization_guide
password_manager
performance_manager
policy
core
prefs
privacy_sandbox
remote_cocoa
renderer_context_menu
safe_browsing
segmentation_platform
internal
services
app_service
public
signin
subresource_filter
sync
sync_bookmarks
translate
undo
user_prefs
visitedlink
viz
webapps
browser
webdata
content
courgette
crypto
device/vr/openxr
extensions
google_apis/gaia
gpu
headless
media
net
services
third_party/blink/public/common/loader
ui

@ -84,15 +84,15 @@ class AppWindowFrameView : public views::NonClientFrameView {
// Return the current frame color based on the active state of the window.
SkColor CurrentFrameColor();
raw_ptr<views::Widget> widget_;
raw_ptr<extensions::NativeAppWindow> window_;
raw_ptr<views::Widget, DanglingUntriaged> widget_;
raw_ptr<extensions::NativeAppWindow, DanglingUntriaged> window_;
bool draw_frame_;
SkColor active_frame_color_;
SkColor inactive_frame_color_;
raw_ptr<views::ImageButton> close_button_ = nullptr;
raw_ptr<views::ImageButton> maximize_button_ = nullptr;
raw_ptr<views::ImageButton> restore_button_ = nullptr;
raw_ptr<views::ImageButton> minimize_button_ = nullptr;
raw_ptr<views::ImageButton, DanglingUntriaged> close_button_ = nullptr;
raw_ptr<views::ImageButton, DanglingUntriaged> maximize_button_ = nullptr;
raw_ptr<views::ImageButton, DanglingUntriaged> restore_button_ = nullptr;
raw_ptr<views::ImageButton, DanglingUntriaged> minimize_button_ = nullptr;
// Allow resize for clicks this many pixels inside the bounds.
int resize_inside_bounds_size_ = 5;

@ -177,7 +177,7 @@ class BASE_I18N_EXPORT BreakIterator {
// This is actually an ICU UBreakiterator* type, which turns out to be
// a typedef for a void* in the ICU headers. Using void* directly prevents
// callers from needing access to the ICU public headers directory.
raw_ptr<void> iter_;
raw_ptr<void, DanglingUntriaged> iter_;
// The string we're iterating over. Can be changed with SetText(...)
StringPiece16 string_;

@ -67,7 +67,7 @@ class BASE_I18N_EXPORT FixedPatternStringSearch {
private:
std::u16string find_this_;
raw_ptr<UStringSearch> search_;
raw_ptr<UStringSearch, DanglingUntriaged> search_;
};
// This class is for speeding up multiple StringSearchIgnoringCaseAndAccents()

@ -52,7 +52,7 @@ class BASE_EXPORT UncheckedObserverAdapter {
#endif // EXPENSIVE_DCHECKS_ARE_ON()
private:
raw_ptr<void> ptr_;
raw_ptr<void, DanglingUntriaged> ptr_;
#if EXPENSIVE_DCHECKS_ARE_ON()
base::debug::StackTrace stack_;
#endif // EXPENSIVE_DCHECKS_ARE_ON()

@ -95,7 +95,8 @@ class BASE_EXPORT SequenceManager {
MessagePumpType message_loop_type = MessagePumpType::DEFAULT;
bool randomised_sampling_enabled = false;
raw_ptr<const TickClock> clock = DefaultTickClock::GetInstance();
raw_ptr<const TickClock, DanglingUntriaged> clock =
DefaultTickClock::GetInstance();
// If true, add the timestamp the task got queued to the task.
bool add_queue_time_to_tasks = false;

@ -497,7 +497,7 @@ class PooledSingleThreadTaskRunnerManager::PooledSingleThreadTaskRunner
}
const raw_ptr<PooledSingleThreadTaskRunnerManager> outer_;
const raw_ptr<WorkerThread> worker_;
const raw_ptr<WorkerThread, DanglingUntriaged> worker_;
const SingleThreadTaskRunnerThreadMode thread_mode_;
const scoped_refptr<Sequence> sequence_;
};

@ -74,7 +74,8 @@ class FilePermissionRestorer {
private:
const FilePath path_;
raw_ptr<void> info_; // The opaque stored permission information.
raw_ptr<void, DanglingUntriaged>
info_; // The opaque stored permission information.
size_t length_; // The length of the stored permission information.
};

@ -100,7 +100,7 @@ class TestSuite {
bool initialized_command_line_ = false;
raw_ptr<XmlUnitTestResultPrinter> printer_ = nullptr;
raw_ptr<XmlUnitTestResultPrinter, DanglingUntriaged> printer_ = nullptr;
std::unique_ptr<logging::ScopedLogAssertHandler> assert_handler_;

@ -79,7 +79,7 @@ struct BASE_EXPORT MemoryDumpProviderInfo
// It is safe to access the const fields below from any thread as they are
// never mutated.
const raw_ptr<MemoryDumpProvider> dump_provider;
const raw_ptr<MemoryDumpProvider, DanglingUntriaged> dump_provider;
// The |options| arg passed to MDM::RegisterDumpProvider().
const MemoryDumpProvider::Options options;

@ -303,7 +303,8 @@ class CC_EXPORT RenderSurfaceImpl {
// The nearest ancestor target surface that will contain the contents of this
// surface, and that ignores outside occlusion. This can point to itself.
raw_ptr<const RenderSurfaceImpl> nearest_occlusion_immune_ancestor_;
raw_ptr<const RenderSurfaceImpl, DanglingUntriaged>
nearest_occlusion_immune_ancestor_;
std::unique_ptr<DamageTracker> damage_tracker_;
};

@ -119,7 +119,7 @@ class SoftwareImageDecodeTaskImpl : public TileTask {
~SoftwareImageDecodeTaskImpl() override = default;
private:
raw_ptr<SoftwareImageDecodeCache> cache_;
raw_ptr<SoftwareImageDecodeCache, DanglingUntriaged> cache_;
SoftwareImageDecodeCache::CacheKey image_key_;
PaintImage paint_image_;
SoftwareImageDecodeCache::DecodeTaskType task_type_;

@ -104,7 +104,8 @@ class AppViewTest : public extensions::PlatformAppBrowserTest {
}
TestGuestViewManagerFactory factory_;
raw_ptr<guest_view::TestGuestViewManager> test_guest_view_manager_;
raw_ptr<guest_view::TestGuestViewManager, DanglingUntriaged>
test_guest_view_manager_;
};
// Tests that <appview> is able to navigate to another installed app.

@ -846,8 +846,8 @@ class WebViewTestBase : public extensions::PlatformAppBrowserTest {
TestGuestViewManagerFactory factory_;
// Note that these are only set if you launch app using LoadAppWithGuest().
raw_ptr<guest_view::GuestViewBase> guest_view_;
raw_ptr<content::WebContents> embedder_web_contents_;
raw_ptr<guest_view::GuestViewBase, DanglingUntriaged> guest_view_;
raw_ptr<content::WebContents, DanglingUntriaged> embedder_web_contents_;
};
class WebViewTest : public WebViewTestBase,

@ -238,7 +238,7 @@ class AutofillAutocompleteTest : public InProcessBrowserTest {
Profile* current_profile() { return active_browser_->profile(); }
test::AutofillEnvironment autofill_environment_;
raw_ptr<Browser> active_browser_;
raw_ptr<Browser, DanglingUntriaged> active_browser_;
};
// Tests that a user can save a simple Autocomplete value.

@ -412,7 +412,7 @@ class BackgroundModeManager : public BrowserListObserver,
// Reference to the ProfileAttributesStorage. It is used to update the
// background app status of profiles when they open/close background apps.
raw_ptr<ProfileAttributesStorage> profile_storage_;
raw_ptr<ProfileAttributesStorage, DanglingUntriaged> profile_storage_;
// Registrars for managing our change observers.
base::CallbackListSubscription on_app_terminating_subscription_;
@ -432,11 +432,11 @@ class BackgroundModeManager : public BrowserListObserver,
raw_ptr<StatusTray> status_tray_ = nullptr;
// Reference to our status icon (if any) - owned by the StatusTray.
raw_ptr<StatusIcon> status_icon_ = nullptr;
raw_ptr<StatusIcon, DanglingUntriaged> status_icon_ = nullptr;
// Reference to our status icon's context menu (if any) - owned by the
// status_icon_.
raw_ptr<StatusIconMenuModel> context_menu_ = nullptr;
raw_ptr<StatusIconMenuModel, DanglingUntriaged> context_menu_ = nullptr;
// Set to true when we are running in background mode. Allows us to track our
// current background state so we can take the appropriate action when the

@ -472,8 +472,9 @@ class BackgroundFetchBrowserTest : public InProcessBrowserTest {
net::EmbeddedTestServer* https_server() { return https_server_.get(); }
protected:
raw_ptr<BackgroundFetchDelegateImpl> delegate_ = nullptr;
raw_ptr<download::BackgroundDownloadService> download_service_ = nullptr;
raw_ptr<BackgroundFetchDelegateImpl, DanglingUntriaged> delegate_ = nullptr;
raw_ptr<download::BackgroundDownloadService, DanglingUntriaged>
download_service_ = nullptr;
base::OnceClosure click_event_closure_;
std::unique_ptr<WaitableDownloadLoggerObserver> download_observer_;
@ -502,7 +503,7 @@ class BackgroundFetchBrowserTest : public InProcessBrowserTest {
std::unique_ptr<net::EmbeddedTestServer> https_server_;
raw_ptr<Browser> active_browser_ = nullptr;
raw_ptr<Browser, DanglingUntriaged> active_browser_ = nullptr;
};
IN_PROC_BROWSER_TEST_F(BackgroundFetchBrowserTest, DownloadService_Acceptance) {

@ -86,11 +86,13 @@ class BackgroundSyncDelegateImpl
site_engagement::EngagementType engagement_type) override;
private:
raw_ptr<Profile> profile_;
raw_ptr<Profile, DanglingUntriaged> profile_;
bool off_the_record_;
raw_ptr<ukm::UkmBackgroundRecorderService> ukm_background_service_;
raw_ptr<ukm::UkmBackgroundRecorderService, DanglingUntriaged>
ukm_background_service_;
// Same lifetime as |profile_|.
raw_ptr<site_engagement::SiteEngagementService> site_engagement_service_;
raw_ptr<site_engagement::SiteEngagementService, DanglingUntriaged>
site_engagement_service_;
std::set<url::Origin> suspended_periodic_sync_origins_;
};

@ -921,7 +921,8 @@ class AppBannerManagerBrowserTestWithFailableInstallableManager
}
protected:
raw_ptr<FailingInstallableManager> installable_manager_ = nullptr;
raw_ptr<FailingInstallableManager, DanglingUntriaged> installable_manager_ =
nullptr;
};
IN_PROC_BROWSER_TEST_F(

@ -538,10 +538,12 @@ class WebBluetoothTest : public InProcessBrowserTest {
global_values_;
scoped_refptr<FakeBluetoothAdapter> adapter_;
TestContentBrowserClient browser_client_;
raw_ptr<content::ContentBrowserClient> old_browser_client_ = nullptr;
raw_ptr<FakeBluetoothGattCharacteristic> characteristic_ = nullptr;
raw_ptr<content::ContentBrowserClient, DanglingUntriaged>
old_browser_client_ = nullptr;
raw_ptr<FakeBluetoothGattCharacteristic, DanglingUntriaged> characteristic_ =
nullptr;
raw_ptr<content::WebContents> web_contents_ = nullptr;
raw_ptr<content::WebContents, DanglingUntriaged> web_contents_ = nullptr;
std::unique_ptr<content::URLLoaderInterceptor> url_loader_interceptor_;
// Web Bluetooth needs HTTPS to work (a secure context). Moreover,

@ -118,7 +118,7 @@ class HistoryCounterTest : public InProcessBrowserTest {
private:
std::unique_ptr<base::RunLoop> run_loop_;
raw_ptr<history::HistoryService> history_service_;
raw_ptr<history::HistoryService, DanglingUntriaged> history_service_;
std::unique_ptr<history::FakeWebHistoryService> fake_web_history_service_;
base::Time time_;

@ -145,7 +145,7 @@ class PasswordsCounterTest : public InProcessBrowserTest {
return result;
}
raw_ptr<password_manager::PasswordStoreInterface> store_;
raw_ptr<password_manager::PasswordStoreInterface, DanglingUntriaged> store_;
std::unique_ptr<base::RunLoop> run_loop_;
base::Time time_;

@ -63,7 +63,8 @@ class CartDB {
OperationCallback callback);
private:
raw_ptr<SessionProtoDB<cart_db::ChromeCartContentProto>> proto_db_;
raw_ptr<SessionProtoDB<cart_db::ChromeCartContentProto>, DanglingUntriaged>
proto_db_;
base::WeakPtrFactory<CartDB> weak_ptr_factory_{this};
};

@ -128,8 +128,8 @@ class CartServiceBrowserTest : public InProcessBrowserTest {
}
base::test::ScopedFeatureList scoped_feature_list_;
raw_ptr<CartService> service_;
raw_ptr<Profile> profile_;
raw_ptr<CartService, DanglingUntriaged> service_;
raw_ptr<Profile, DanglingUntriaged> profile_;
net::EmbeddedTestServer https_server_{net::EmbeddedTestServer::TYPE_HTTPS};
};

@ -59,7 +59,8 @@ class CouponDB {
void OnOperationFinished(bool success);
private:
raw_ptr<SessionProtoDB<coupon_db::CouponContentProto>> proto_db_;
raw_ptr<SessionProtoDB<coupon_db::CouponContentProto>, DanglingUntriaged>
proto_db_;
base::WeakPtrFactory<CouponDB> weak_ptr_factory_{this};
};

@ -160,21 +160,21 @@ class DownloadBubbleUIController
// Kick off retrying an eligible interrupted download.
void RetryDownload(DownloadUIModel* model, DownloadCommands::Command command);
raw_ptr<Browser> browser_;
raw_ptr<Profile> profile_;
raw_ptr<content::DownloadManager> download_manager_;
raw_ptr<Browser, DanglingUntriaged> browser_;
raw_ptr<Profile, DanglingUntriaged> profile_;
raw_ptr<content::DownloadManager, DanglingUntriaged> download_manager_;
download::AllDownloadItemNotifier download_notifier_;
// Null if the profile is not off the record.
std::unique_ptr<download::AllDownloadItemNotifier> original_notifier_;
raw_ptr<OfflineContentAggregator> aggregator_;
raw_ptr<OfflineItemModelManager> offline_manager_;
raw_ptr<OfflineContentAggregator, DanglingUntriaged> aggregator_;
raw_ptr<OfflineItemModelManager, DanglingUntriaged> offline_manager_;
base::ScopedObservation<OfflineContentProvider,
OfflineContentProvider::Observer>
observation_{this};
// DownloadDisplayController and DownloadBubbleUIController have the same
// lifetime. Both are owned, constructed together, and destructed together by
// DownloadToolbarButtonView. If one is valid, so is the other.
raw_ptr<DownloadDisplayController> display_controller_;
raw_ptr<DownloadDisplayController, DanglingUntriaged> display_controller_;
// Pruned list of offline items.
OfflineItemList offline_items_;

@ -4939,7 +4939,8 @@ class InProgressDownloadTest : public DownloadTest {
private:
base::test::ScopedFeatureList feature_list_;
raw_ptr<download::InProgressDownloadManager> in_progress_manager_ = nullptr;
raw_ptr<download::InProgressDownloadManager, DanglingUntriaged>
in_progress_manager_ = nullptr;
};
// Check that if a download exists in both in-progress and history DB,

@ -118,7 +118,7 @@ class DeepScanningBaseView {
ContentAnalysisDialog* dialog() { return dialog_; }
protected:
raw_ptr<ContentAnalysisDialog> dialog_;
raw_ptr<ContentAnalysisDialog, DanglingUntriaged> dialog_;
};
class DeepScanningTopImageView : public DeepScanningBaseView,

@ -37,9 +37,10 @@ class BrowserCrashEventRouter
#endif // !BUILDFLAG(IS_FUCHSIA)
private:
raw_ptr<enterprise_connectors::RealtimeReportingClient> reporting_client_ =
nullptr;
raw_ptr<policy::ChromeBrowserCloudManagementController> controller_ = nullptr;
raw_ptr<enterprise_connectors::RealtimeReportingClient, DanglingUntriaged>
reporting_client_ = nullptr;
raw_ptr<policy::ChromeBrowserCloudManagementController, DanglingUntriaged>
controller_ = nullptr;
#if !BUILDFLAG(IS_FUCHSIA)
// ReportCrashes() checks the enterprise policy settings, retrieves crash

@ -34,9 +34,10 @@ class ExtensionInstallEventRouter
void StartObserving();
private:
raw_ptr<enterprise_connectors::RealtimeReportingClient> reporting_client_ =
nullptr;
raw_ptr<extensions::ExtensionRegistry> extension_registry_ = nullptr;
raw_ptr<enterprise_connectors::RealtimeReportingClient, DanglingUntriaged>
reporting_client_ = nullptr;
raw_ptr<extensions::ExtensionRegistry, DanglingUntriaged>
extension_registry_ = nullptr;
};
} // namespace enterprise_connectors

@ -100,7 +100,7 @@ class ReportSchedulerTest
base::test::ScopedFeatureList scoped_feature_list_;
policy::FakeBrowserDMTokenStorage storage_;
std::unique_ptr<base::RunLoop> run_loop_;
raw_ptr<ReportScheduler> report_scheduler_;
raw_ptr<ReportScheduler, DanglingUntriaged> report_scheduler_;
bool has_cloud_reporting_launched = false;
};

@ -92,14 +92,15 @@ class ManagedValueStoreCache : public ValueStoreCache,
// The profile that owns the extension system being used. This is used to
// get the PolicyService, the EventRouter and the ExtensionService.
raw_ptr<Profile> profile_ GUARDED_BY_CONTEXT(ui_sequence_checker_);
raw_ptr<Profile, DanglingUntriaged> profile_
GUARDED_BY_CONTEXT(ui_sequence_checker_);
// The policy domain. This is used for both updating the schema registry with
// the list of extensions and for observing the policy updates.
policy::PolicyDomain policy_domain_ GUARDED_BY_CONTEXT(ui_sequence_checker_);
// The |profile_|'s PolicyService.
raw_ptr<policy::PolicyService> policy_service_
raw_ptr<policy::PolicyService, DanglingUntriaged> policy_service_
GUARDED_BY_CONTEXT(ui_sequence_checker_);
// Observes extension loading and unloading, and keeps the Profile's

@ -175,9 +175,12 @@ class ChromeAppSorting : public AppSorting,
// Returns the number of items in |m| visible on the new tab page.
size_t CountItemsVisibleOnNtp(const AppLaunchOrdinalMap& m) const;
const raw_ptr<content::BrowserContext> browser_context_ = nullptr;
raw_ptr<const web_app::WebAppRegistrar> web_app_registrar_ = nullptr;
raw_ptr<web_app::WebAppSyncBridge> web_app_sync_bridge_ = nullptr;
const raw_ptr<content::BrowserContext, DanglingUntriaged> browser_context_ =
nullptr;
raw_ptr<const web_app::WebAppRegistrar, DanglingUntriaged>
web_app_registrar_ = nullptr;
raw_ptr<web_app::WebAppSyncBridge, DanglingUntriaged> web_app_sync_bridge_ =
nullptr;
base::ScopedObservation<web_app::WebAppRegistrar,
web_app::AppRegistrarObserver>
app_registrar_observation_{this};

@ -92,7 +92,7 @@ class ChromeContentVerifierDelegate : public ContentVerifierDelegate {
// Returns information needed for content verification of |extension|.
VerifyInfo GetVerifyInfo(const Extension& extension) const;
raw_ptr<content::BrowserContext> context_;
raw_ptr<content::BrowserContext, DanglingUntriaged> context_;
VerifyInfo::Mode default_mode_;
// This maps an extension id to a backoff entry for slowing down

@ -56,7 +56,7 @@ class ChromeExtensionTestNotificationObserver
content::WebContents* web_contents,
content::BrowserContext* browser_context) override;
const raw_ptr<Browser> browser_;
const raw_ptr<Browser, DanglingUntriaged> browser_;
};
} // namespace extensions

@ -221,7 +221,7 @@ class ComponentLoader {
raw_ptr<Profile> profile_;
raw_ptr<ExtensionSystem> extension_system_;
raw_ptr<ExtensionSystem, DanglingUntriaged> extension_system_;
// List of registered component extensions (see mojom::ManifestLocation).
typedef std::vector<ComponentExtensionInfo> RegisteredComponentExtensions;

@ -60,9 +60,9 @@ class ExtensionActionIconFactory : public extensions::IconImage::Observer {
gfx::Image GetIcon(int tab_id);
private:
raw_ptr<Profile> profile_;
raw_ptr<const extensions::ExtensionAction> action_;
raw_ptr<Observer> observer_;
raw_ptr<Profile, DanglingUntriaged> profile_;
raw_ptr<const extensions::ExtensionAction, DanglingUntriaged> action_;
raw_ptr<Observer, DanglingUntriaged> observer_;
const bool should_check_icons_;
gfx::Image cached_default_icon_image_;

@ -419,7 +419,7 @@ class ExtensionBrowserTest : virtual public InProcessBrowserTest {
#endif
// The default profile to be used.
raw_ptr<Profile> profile_;
raw_ptr<Profile, DanglingUntriaged> profile_;
// Cache cache implementation.
std::unique_ptr<ExtensionCacheFake> test_extension_cache_;

@ -633,19 +633,19 @@ class ExtensionService : public ExtensionServiceInterface,
const std::string& extension_id,
const absl::optional<CrxInstallError>& error);
raw_ptr<const base::CommandLine> command_line_ = nullptr;
raw_ptr<const base::CommandLine, DanglingUntriaged> command_line_ = nullptr;
// The normal profile associated with this ExtensionService.
raw_ptr<Profile> profile_ = nullptr;
// The ExtensionSystem for the profile above.
raw_ptr<ExtensionSystem> system_ = nullptr;
raw_ptr<ExtensionSystem, DanglingUntriaged> system_ = nullptr;
// Preferences for the owning profile.
raw_ptr<ExtensionPrefs> extension_prefs_ = nullptr;
raw_ptr<ExtensionPrefs, DanglingUntriaged> extension_prefs_ = nullptr;
// Blocklist for the owning profile.
raw_ptr<Blocklist> blocklist_ = nullptr;
raw_ptr<Blocklist, DanglingUntriaged> blocklist_ = nullptr;
ExtensionAllowlist allowlist_;
@ -654,7 +654,7 @@ class ExtensionService : public ExtensionServiceInterface,
OmahaAttributesHandler omaha_attributes_handler_;
// Sets of enabled/disabled/terminated/blocklisted extensions. Not owned.
raw_ptr<ExtensionRegistry> registry_ = nullptr;
raw_ptr<ExtensionRegistry, DanglingUntriaged> registry_ = nullptr;
// Set of allowlisted enabled extensions loaded from the
// --disable-extensions-except command line flag.

@ -126,7 +126,7 @@ class ExtensionViewHost
raw_ptr<Browser> browser_;
// View that shows the rendered content in the UI.
raw_ptr<ExtensionView> view_ = nullptr;
raw_ptr<ExtensionView, DanglingUntriaged> view_ = nullptr;
// The relevant WebContents associated with this ExtensionViewHost, if any.
base::WeakPtr<content::WebContents> associated_web_contents_;

@ -94,8 +94,8 @@ class WindowController {
void NotifyWindowBoundsChanged();
private:
raw_ptr<ui::BaseWindow> window_;
raw_ptr<Profile> profile_;
raw_ptr<ui::BaseWindow, DanglingUntriaged> window_;
raw_ptr<Profile, DanglingUntriaged> profile_;
};
} // namespace extensions

@ -83,7 +83,7 @@ class FontFamilyCache : public base::SupportsUserData::Data {
// Weak reference.
// Note: The lifetime of this object is tied to the lifetime of the
// PrefService, so there is no worry about an invalid pointer.
raw_ptr<const PrefService> prefs_;
raw_ptr<const PrefService, DanglingUntriaged> prefs_;
// Reacts to profile font changes. |font_change_registrar_| will be
// automatically unregistered when the FontPrefChangeNotifier is destroyed as

@ -61,7 +61,7 @@ class InProcessImporterBridge : public ImporterBridge {
private:
~InProcessImporterBridge() override;
const raw_ptr<ProfileWriter> writer_; // weak
const raw_ptr<ProfileWriter, DanglingUntriaged> writer_; // weak
const base::WeakPtr<ExternalProcessImporterHost> host_;
};

@ -92,7 +92,7 @@ class NotificationDisplayServiceTester {
void OnProfileShutdown();
raw_ptr<Profile> profile_;
raw_ptr<StubNotificationDisplayService> display_service_;
raw_ptr<StubNotificationDisplayService, DanglingUntriaged> display_service_;
base::CallbackListSubscription profile_shutdown_subscription_;
};

@ -1164,7 +1164,7 @@ class NotificationPlatformBridgeLinuxImpl
scoped_refptr<dbus::Bus> bus_;
raw_ptr<dbus::ObjectProxy> notification_proxy_ = nullptr;
raw_ptr<dbus::ObjectProxy, DanglingUntriaged> notification_proxy_ = nullptr;
std::unordered_set<std::string> capabilities_;

@ -65,7 +65,7 @@ class UnsyncedCredentialsDeletionNotifierImpl
base::WeakPtr<UnsyncedCredentialsDeletionNotifier> GetWeakPtr() override;
private:
const raw_ptr<Profile> profile_;
const raw_ptr<Profile, DanglingUntriaged> profile_;
base::WeakPtrFactory<UnsyncedCredentialsDeletionNotifier> weak_ptr_factory_{
this};
};

@ -201,7 +201,8 @@ class CloudPolicyInvalidator : public invalidation::InvalidationHandler,
raw_ptr<base::Clock> clock_;
// The invalidation service.
raw_ptr<invalidation::InvalidationService> invalidation_service_;
raw_ptr<invalidation::InvalidationService, DanglingUntriaged>
invalidation_service_;
// Whether the invalidator currently has the ability to receive invalidations.
// This is true if the invalidation service is enabled and the invalidator

@ -49,7 +49,8 @@ class ProfileKey : public SimpleFactoryKey {
private:
raw_ptr<PrefService> prefs_ = nullptr;
raw_ptr<leveldb_proto::ProtoDatabaseProvider> db_provider_ = nullptr;
raw_ptr<leveldb_proto::ProtoDatabaseProvider, DanglingUntriaged>
db_provider_ = nullptr;
// Points to the original (non off-the-record) ProfileKey.
raw_ptr<ProfileKey> original_key_ = nullptr;

@ -102,10 +102,10 @@ class SharingFCMHandler : public gcm::GCMAppHandler {
absl::optional<std::string> message_id,
SharingChannelType channel_type);
const raw_ptr<gcm::GCMDriver> gcm_driver_;
raw_ptr<syncer::DeviceInfoTracker> device_info_tracker_;
raw_ptr<SharingFCMSender> sharing_fcm_sender_;
raw_ptr<SharingHandlerRegistry> handler_registry_;
const raw_ptr<gcm::GCMDriver, DanglingUntriaged> gcm_driver_;
raw_ptr<syncer::DeviceInfoTracker, DanglingUntriaged> device_info_tracker_;
raw_ptr<SharingFCMSender, DanglingUntriaged> sharing_fcm_sender_;
raw_ptr<SharingHandlerRegistry, DanglingUntriaged> handler_registry_;
bool is_listening_ = false;

@ -139,12 +139,13 @@ class SharingFCMSender : public SharingMessageSender::SendMessageDelegate {
bool SetMessageSenderInfo(SharingMessage* message);
std::unique_ptr<WebPushSender> web_push_sender_;
raw_ptr<SharingMessageBridge> sharing_message_bridge_;
raw_ptr<SharingSyncPreference> sync_preference_;
raw_ptr<VapidKeyManager> vapid_key_manager_;
raw_ptr<gcm::GCMDriver> gcm_driver_;
raw_ptr<syncer::LocalDeviceInfoProvider> local_device_info_provider_;
raw_ptr<syncer::SyncService> sync_service_;
raw_ptr<SharingMessageBridge, DanglingUntriaged> sharing_message_bridge_;
raw_ptr<SharingSyncPreference, DanglingUntriaged> sync_preference_;
raw_ptr<VapidKeyManager, DanglingUntriaged> vapid_key_manager_;
raw_ptr<gcm::GCMDriver, DanglingUntriaged> gcm_driver_;
raw_ptr<syncer::LocalDeviceInfoProvider, DanglingUntriaged>
local_device_info_provider_;
raw_ptr<syncer::SyncService, DanglingUntriaged> sync_service_;
base::WeakPtrFactory<SharingFCMSender> weak_ptr_factory_{this};
};

@ -301,8 +301,8 @@ class ProxyingURLLoaderFactory::InProgressRequest::ProxyResponseAdapter
}
private:
const raw_ptr<InProgressRequest> in_progress_request_;
const raw_ptr<net::HttpResponseHeaders> headers_;
const raw_ptr<InProgressRequest, DanglingUntriaged> in_progress_request_;
const raw_ptr<net::HttpResponseHeaders, DanglingUntriaged> headers_;
};
ProxyingURLLoaderFactory::InProgressRequest::InProgressRequest(

@ -46,7 +46,8 @@ class SubresourceFilterHistoryObserver
history_observation_{this};
// Outlives this object.
raw_ptr<subresource_filter::SubresourceFilterContentSettingsManager>
raw_ptr<subresource_filter::SubresourceFilterContentSettingsManager,
DanglingUntriaged>
settings_manager_;
};

@ -76,11 +76,11 @@ class SyncSessionsRouterTabHelper
void NotifyRouter(bool page_load_completed = false);
// |router_| is a KeyedService and is guaranteed to outlive |this|.
raw_ptr<SyncSessionsWebContentsRouter> router_;
raw_ptr<SyncSessionsWebContentsRouter, DanglingUntriaged> router_;
raw_ptr<ChromeTranslateClient> chrome_translate_client_;
raw_ptr<ChromeTranslateClient, DanglingUntriaged> chrome_translate_client_;
raw_ptr<favicon::FaviconDriver> favicon_driver_;
raw_ptr<favicon::FaviconDriver, DanglingUntriaged> favicon_driver_;
WEB_CONTENTS_USER_DATA_KEY_DECL();
};

@ -85,14 +85,14 @@ class SyncFileSystemBackend : public storage::FileSystemBackend {
private:
// Not owned.
raw_ptr<storage::FileSystemContext> context_ = nullptr;
raw_ptr<storage::FileSystemContext, DanglingUntriaged> context_ = nullptr;
std::unique_ptr<LocalFileChangeTracker> change_tracker_;
scoped_refptr<LocalFileSyncContext> sync_context_;
// |profile_| will initially be valid but may be destroyed before |this|, so
// it should be checked before being accessed.
raw_ptr<Profile> profile_;
raw_ptr<Profile, DanglingUntriaged> profile_;
// A flag to skip the initialization sequence of SyncFileSystemService for
// testing.

@ -305,7 +305,7 @@ class BrowserThemePack : public CustomThemeSupplier {
// theme_id without NULL terminator.
uint8_t theme_id[16];
};
raw_ptr<BrowserThemePackHeader> header_ = nullptr;
raw_ptr<BrowserThemePackHeader, DanglingUntriaged> header_ = nullptr;
// The remaining structs represent individual entries in an array. For the
// following three structs, BrowserThemePack will either allocate an array or
@ -316,23 +316,23 @@ class BrowserThemePack : public CustomThemeSupplier {
double s;
double l;
};
raw_ptr<TintEntry> tints_ = nullptr;
raw_ptr<TintEntry, DanglingUntriaged> tints_ = nullptr;
struct ColorPair {
int32_t id;
SkColor color;
};
raw_ptr<ColorPair> colors_ = nullptr;
raw_ptr<ColorPair, DanglingUntriaged> colors_ = nullptr;
struct DisplayPropertyPair {
int32_t id;
int32_t property;
};
raw_ptr<DisplayPropertyPair> display_properties_ = nullptr;
raw_ptr<DisplayPropertyPair, DanglingUntriaged> display_properties_ = nullptr;
// A list of included source images. A pointer to a -1 terminated array of
// our persistent IDs.
raw_ptr<int> source_images_ = nullptr;
raw_ptr<int, DanglingUntriaged> source_images_ = nullptr;
#pragma pack(pop)
// The scale factors represented by the images in the theme pack.

@ -76,7 +76,8 @@ class AutofillPopupControllerBrowserTest : public InProcessBrowserTest,
}
raw_ptr<ContentAutofillDriver> autofill_driver_ = nullptr;
raw_ptr<TestAutofillExternalDelegate> autofill_external_delegate_ = nullptr;
raw_ptr<TestAutofillExternalDelegate, DanglingUntriaged>
autofill_external_delegate_ = nullptr;
std::unique_ptr<ui::ScopedAnimationDurationScaleMode> disable_animation_;
};

@ -101,7 +101,8 @@ class ManageMigrationUiController
void ShowFeedbackDialog();
raw_ptr<LocalCardMigrationBubbleControllerImpl> bubble_controller_ = nullptr;
raw_ptr<LocalCardMigrationDialogControllerImpl> dialog_controller_ = nullptr;
raw_ptr<LocalCardMigrationDialogControllerImpl, DanglingUntriaged>
dialog_controller_ = nullptr;
// This indicates what step the migration flow is currently in and
// what should be shown next.

@ -97,14 +97,14 @@ class BookmarkTabHelper
// Whether the current URL is starred.
bool is_starred_;
raw_ptr<bookmarks::BookmarkModel> bookmark_model_;
raw_ptr<bookmarks::BookmarkModel, DanglingUntriaged> bookmark_model_;
// A list of observers notified when when the url starred changed.
base::ObserverList<BookmarkTabHelperObserver>::Unchecked observers_;
// The BookmarkDrag is used to forward bookmark drag and drop events to
// extensions.
raw_ptr<BookmarkDrag> bookmark_drag_;
raw_ptr<BookmarkDrag, DanglingUntriaged> bookmark_drag_;
WEB_CONTENTS_USER_DATA_KEY_DECL();
};

@ -91,7 +91,7 @@ class ShoppingListUiTabHelper
// The shopping service is tied to the lifetime of the browser context
// which will always outlive this tab helper.
raw_ptr<ShoppingService> shopping_service_;
raw_ptr<ShoppingService, DanglingUntriaged> shopping_service_;
raw_ptr<PrefService> prefs_;
raw_ptr<image_fetcher::ImageFetcher> image_fetcher_;

@ -177,7 +177,8 @@ class ExtensionActionViewController
// The browser action this view represents. The ExtensionAction is not owned
// by this class.
const raw_ptr<extensions::ExtensionAction> extension_action_;
const raw_ptr<extensions::ExtensionAction, DanglingUntriaged>
extension_action_;
// The corresponding ExtensionsContainer on the toolbar.
const raw_ptr<ExtensionsContainer> extensions_container_;

@ -163,7 +163,7 @@ class ManagePasswordsState {
password_manager::ui::State state_;
// The client used for logging.
raw_ptr<password_manager::PasswordManagerClient> client_;
raw_ptr<password_manager::PasswordManagerClient, DanglingUntriaged> client_;
// Whether the last attempt to authenticate to opt-in using password account
// storage failed.

@ -258,7 +258,8 @@ struct TabStripModel::DetachNotifications {
//
// Once the notification for change of active web contents has been sent,
// this field is set to nullptr.
raw_ptr<WebContents> initially_active_web_contents = nullptr;
raw_ptr<WebContents, DanglingUntriaged> initially_active_web_contents =
nullptr;
// The WebContents that were recently detached. Observers need to be notified
// about these. These must be updated after construction.

@ -115,7 +115,7 @@ class TabStripModel : public TabGroupController {
// guaranteed to be valid for the life time of the notification (and
// possibly longer).
std::unique_ptr<content::WebContents> owned_contents;
raw_ptr<content::WebContents> contents;
raw_ptr<content::WebContents, DanglingUntriaged> contents;
// The index of the WebContents in the original selection model of the tab
// strip [prior to any tabs being removed, if multiple tabs are being
@ -803,14 +803,14 @@ class TabStripModel : public TabGroupController {
// The model for tab groups hosted within this TabStripModel.
std::unique_ptr<TabGroupModel> group_model_;
raw_ptr<TabStripModelDelegate> delegate_;
raw_ptr<TabStripModelDelegate, DanglingUntriaged> delegate_;
bool tab_strip_ui_was_set_ = false;
base::ObserverList<TabStripModelObserver>::Unchecked observers_;
// A profile associated with this TabStripModel.
raw_ptr<Profile> profile_;
raw_ptr<Profile, DanglingUntriaged> profile_;
// True if all tabs are currently being closed via CloseAllTabs.
bool closing_all_ = false;

@ -227,8 +227,8 @@ struct TabStripSelectionChange {
return selected_tabs_were_removed || old_model != new_model;
}
raw_ptr<content::WebContents> old_contents = nullptr;
raw_ptr<content::WebContents> new_contents = nullptr;
raw_ptr<content::WebContents, DanglingUntriaged> old_contents = nullptr;
raw_ptr<content::WebContents, DanglingUntriaged> new_contents = nullptr;
ui::ListSelectionModel old_model;
ui::ListSelectionModel new_model;

@ -55,7 +55,7 @@ class WidgetCloser {
widget_->CloseNow();
}
raw_ptr<views::Widget> widget_;
raw_ptr<views::Widget, DanglingUntriaged> widget_;
base::WeakPtrFactory<WidgetCloser> weak_ptr_factory_{this};
};

@ -75,7 +75,7 @@ class AppInfoSummaryPanel : public AppInfoPanel,
std::vector<GURL> GetLicenseUrls() const;
// UI elements on the dialog.
raw_ptr<views::Label> size_value_ = nullptr;
raw_ptr<views::Label, DanglingUntriaged> size_value_ = nullptr;
std::unique_ptr<LaunchOptionsComboboxModel> launch_options_combobox_model_;
raw_ptr<views::Combobox> launch_options_combobox_ = nullptr;

@ -40,7 +40,7 @@ class AppWindowDesktopNativeWidgetAuraWin
raw_ptr<ChromeNativeAppWindowViewsWin> app_window_;
// Owned by superclass DesktopNativeWidgetAura.
raw_ptr<views::DesktopWindowTreeHost> tree_host_;
raw_ptr<views::DesktopWindowTreeHost, DanglingUntriaged> tree_host_;
};
#endif // CHROME_BROWSER_UI_VIEWS_APPS_APP_WINDOW_DESKTOP_NATIVE_WIDGET_AURA_WIN_H_

@ -35,7 +35,7 @@ class AppWindowNativeWidgetMac : public views::NativeWidgetMac {
private:
// Weak. Owned by extensions::AppWindow (which manages our Widget via its
// WebContents).
raw_ptr<extensions::NativeAppWindow> native_app_window_;
raw_ptr<extensions::NativeAppWindow, DanglingUntriaged> native_app_window_;
};
#endif // CHROME_BROWSER_UI_VIEWS_APPS_APP_WINDOW_NATIVE_WIDGET_MAC_H_

@ -89,7 +89,8 @@ class AutofillPopupBaseView::Widget : public views::Widget {
}
private:
const raw_ptr<AutofillPopupBaseView> autofill_popup_base_view_;
const raw_ptr<AutofillPopupBaseView, DanglingUntriaged>
autofill_popup_base_view_;
};
// static

@ -390,7 +390,7 @@ class BookmarkBarView : public views::AccessiblePaneView,
PrefChangeRegistrar profile_pref_registrar_;
// Used for opening urls.
raw_ptr<content::PageNavigator> page_navigator_ = nullptr;
raw_ptr<content::PageNavigator, DanglingUntriaged> page_navigator_ = nullptr;
// BookmarkModel that owns the entries and folders that are shown in this
// view. This is owned by the Profile.

@ -98,8 +98,7 @@ class SavedTabGroupBar : public views::AccessiblePaneView,
raw_ptr<SavedTabGroupModel> saved_tab_group_model_;
// The page navigator used to create tab groups
raw_ptr<content::PageNavigator> page_navigator_ = nullptr;
raw_ptr<content::PageNavigator, DanglingUntriaged> page_navigator_ = nullptr;
raw_ptr<Browser> browser_;
// animations have been noted to cause issues with tests in the bookmarks bar.

@ -20,10 +20,10 @@ namespace bubble_anchor_util {
struct AnchorConfiguration {
// The bubble anchor view.
raw_ptr<views::View> anchor_view = nullptr;
raw_ptr<views::View, DanglingUntriaged> anchor_view = nullptr;
// The view to be highlighted, or null if it should not be used.
raw_ptr<views::Button> highlighted_button = nullptr;
raw_ptr<views::Button, DanglingUntriaged> highlighted_button = nullptr;
// The arrow position for the bubble.
views::BubbleBorder::Arrow bubble_arrow = views::BubbleBorder::TOP_LEFT;

@ -102,10 +102,10 @@ class CertificateSelector : public views::DialogDelegateView,
bool show_provider_column_ = false;
std::unique_ptr<CertificateTableModel> model_;
const raw_ptr<content::WebContents> web_contents_;
const raw_ptr<content::WebContents, DanglingUntriaged> web_contents_;
raw_ptr<views::TableView> table_ = nullptr;
raw_ptr<views::LabelButton> view_cert_button_ = nullptr;
raw_ptr<views::TableView, DanglingUntriaged> table_ = nullptr;
raw_ptr<views::LabelButton, DanglingUntriaged> view_cert_button_ = nullptr;
};
} // namespace chrome

@ -104,7 +104,7 @@ class ContentSettingBubbleContents : public content::WebContentsObserver,
typedef std::vector<views::RadioButton*> RadioGroup;
RadioGroup radio_group_;
raw_ptr<views::LabelButton> manage_button_ = nullptr;
raw_ptr<views::LabelButton, DanglingUntriaged> manage_button_ = nullptr;
raw_ptr<views::Checkbox> manage_checkbox_ = nullptr;
raw_ptr<views::ImageButton> learn_more_button_ = nullptr;
};

@ -69,7 +69,8 @@ class DownloadBubbleSecurityView : public views::View {
raw_ptr<DownloadBubbleRowView> download_row_view_;
raw_ptr<DownloadBubbleUIController> bubble_controller_ = nullptr;
raw_ptr<DownloadBubbleNavigationHandler> navigation_handler_ = nullptr;
raw_ptr<views::BubbleDialogDelegate> bubble_delegate_ = nullptr;
raw_ptr<views::BubbleDialogDelegate, DanglingUntriaged> bubble_delegate_ =
nullptr;
// The secondary button is the one that may be protected by the checkbox.
raw_ptr<views::LabelButton> secondary_button_ = nullptr;
raw_ptr<views::Checkbox> checkbox_ = nullptr;

@ -65,7 +65,7 @@ class ExtensionViewViews : public views::WebView,
void PreferredSizeChanged() override;
void OnWebContentsAttached() override;
raw_ptr<extensions::ExtensionViewHost> host_;
raw_ptr<extensions::ExtensionViewHost, DanglingUntriaged> host_;
// What we should set the preferred width to once the ExtensionViewViews has
// loaded.

@ -52,10 +52,10 @@ class ExtensionsMenuButton : public HoverButton,
void ButtonPressed();
const raw_ptr<Browser> browser_;
const raw_ptr<Browser, DanglingUntriaged> browser_;
// Responsible for executing the extension's actions.
const raw_ptr<ToolbarActionViewController> controller_;
const raw_ptr<ToolbarActionViewController, DanglingUntriaged> controller_;
};
BEGIN_VIEW_BUILDER(/* no export */, ExtensionsMenuButton, HoverButton)

@ -309,8 +309,9 @@ class ExtensionsToolbarContainer
// `extensions_features::kExtensionsMenuAccessControl` experiment is released.
// Exactly one of `extensions_button_ and `extensions_controls_` is created;
// the other is null.
const raw_ptr<ExtensionsToolbarButton> extensions_button_;
const raw_ptr<ExtensionsToolbarControls> extensions_controls_;
const raw_ptr<ExtensionsToolbarButton, DanglingUntriaged> extensions_button_;
const raw_ptr<ExtensionsToolbarControls, DanglingUntriaged>
extensions_controls_;
DisplayMode display_mode_;
// Controller for showing the toolbar action hover card.

@ -43,8 +43,9 @@ class BrowserFrameViewLayoutLinuxNative : public BrowserFrameViewLayoutLinux {
views::FrameButton button_id) const;
// Owned by BrowserFrameViewLinuxNative.
const raw_ptr<ui::NavButtonProvider> nav_button_provider_;
const raw_ptr<ui::WindowFrameProvider> window_frame_provider_;
const raw_ptr<ui::NavButtonProvider, DanglingUntriaged> nav_button_provider_;
const raw_ptr<ui::WindowFrameProvider, DanglingUntriaged>
window_frame_provider_;
};
#endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_FRAME_VIEW_LAYOUT_LINUX_NATIVE_H_

@ -136,7 +136,7 @@ class BrowserRootView : public views::internal::RootView {
ui::mojom::DragOperation& output_drag_op);
// The BrowserView.
raw_ptr<BrowserView> browser_view_ = nullptr;
raw_ptr<BrowserView, DanglingUntriaged> browser_view_ = nullptr;
// Used to calculate partial offsets in scrolls that occur for a smooth
// scroll device.

@ -972,7 +972,7 @@ class BrowserView : public BrowserWindow,
void UpdateIsIsolatedWebApp();
// The BrowserFrame that hosts this view.
raw_ptr<BrowserFrame> frame_ = nullptr;
raw_ptr<BrowserFrame, DanglingUntriaged> frame_ = nullptr;
// The Browser object we are associated with.
std::unique_ptr<Browser> browser_;
@ -1004,16 +1004,18 @@ class BrowserView : public BrowserWindow,
// The view that manages the tab strip, toolbar, and sometimes the bookmark
// bar. Stacked top in the view hiearachy so it can be used to slide out
// the top views in immersive fullscreen.
raw_ptr<TopContainerView> top_container_ = nullptr;
raw_ptr<TopContainerView, DanglingUntriaged> top_container_ = nullptr;
// The view that contains the tabstrip, new tab button, and grab handle space.
raw_ptr<TabStripRegionView> tab_strip_region_view_ = nullptr;
raw_ptr<TabStripRegionView, DanglingUntriaged> tab_strip_region_view_ =
nullptr;
// The TabStrip.
raw_ptr<TabStrip> tabstrip_ = nullptr;
raw_ptr<TabStrip, DanglingUntriaged> tabstrip_ = nullptr;
// the webui based tabstrip, when applicable. see https://crbug.com/989131.
raw_ptr<WebUITabStripContainerView> webui_tab_strip_ = nullptr;
raw_ptr<WebUITabStripContainerView, DanglingUntriaged> webui_tab_strip_ =
nullptr;
// Allows us to react to changes in accessibility mode.
// TODO(dfried): this is only used to disable WebUI tabstrip (see above) while
@ -1023,20 +1025,20 @@ class BrowserView : public BrowserWindow,
std::unique_ptr<AccessibilityModeObserver> accessibility_mode_observer_;
// The Toolbar containing the navigation buttons, menus and the address bar.
raw_ptr<ToolbarView> toolbar_ = nullptr;
raw_ptr<ToolbarView, DanglingUntriaged> toolbar_ = nullptr;
// The OverlayView for the widget, which is used to host `top_container_`
// during immersive reveal.
// On Aura, this view is owned by the browser frame. On mac, this view is
// owned by `overlay_widget_`.
std::unique_ptr<views::ViewTargeterDelegate> overlay_view_targeter_;
raw_ptr<views::View> overlay_view_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> overlay_view_ = nullptr;
#if BUILDFLAG(IS_MAC)
// Used when calling CreateMacOverlayView(). This widget owns `overlay_view_`.
// Its content NSView will be reparented to a NSToolbarFullScreenWindow
// during fullscreen.
raw_ptr<views::Widget> overlay_widget_;
raw_ptr<views::Widget, DanglingUntriaged> overlay_widget_;
#endif
// The Bookmark Bar View for this window. Lazily created. May be null for
@ -1044,43 +1046,45 @@ class BrowserView : public BrowserWindow,
std::unique_ptr<BookmarkBarView> bookmark_bar_view_;
// Separator between top container and contents.
raw_ptr<views::View> contents_separator_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> contents_separator_ = nullptr;
// Loading bar (part of top container for / WebUI tab strip).
raw_ptr<TopContainerLoadingBar> loading_bar_ = nullptr;
raw_ptr<TopContainerLoadingBar, DanglingUntriaged> loading_bar_ = nullptr;
// The do-nothing view which controls the z-order of the find bar widget
// relative to views which paint into layers and views with an associated
// NativeView.
raw_ptr<View> find_bar_host_view_ = nullptr;
raw_ptr<View, DanglingUntriaged> find_bar_host_view_ = nullptr;
// The download shelf.
raw_ptr<DownloadShelf> download_shelf_ = nullptr;
raw_ptr<DownloadShelf, DanglingUntriaged> download_shelf_ = nullptr;
// The InfoBarContainerView that contains InfoBars for the current tab.
raw_ptr<InfoBarContainerView> infobar_container_ = nullptr;
raw_ptr<InfoBarContainerView, DanglingUntriaged> infobar_container_ = nullptr;
// The view that contains the selected WebContents.
raw_ptr<ContentsWebView> contents_web_view_ = nullptr;
raw_ptr<ContentsWebView, DanglingUntriaged> contents_web_view_ = nullptr;
// The view that contains devtools window for the selected WebContents.
raw_ptr<views::WebView> devtools_web_view_ = nullptr;
raw_ptr<views::WebView, DanglingUntriaged> devtools_web_view_ = nullptr;
// The view managing the devtools and contents positions.
// Handled by ContentsLayoutManager.
raw_ptr<views::View> contents_container_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> contents_container_ = nullptr;
// The side panel aligned to the left or the right side of the browser window
// depending on the kSidePanelHorizontalAlignment pref's value.
raw_ptr<SidePanel> unified_side_panel_ = nullptr;
raw_ptr<views::View> right_aligned_side_panel_separator_ = nullptr;
raw_ptr<SidePanel, DanglingUntriaged> unified_side_panel_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> right_aligned_side_panel_separator_ =
nullptr;
// The side search side panel.
raw_ptr<SidePanel> side_search_side_panel_ = nullptr;
raw_ptr<views::View> left_aligned_side_panel_separator_ = nullptr;
raw_ptr<SidePanel, DanglingUntriaged> side_search_side_panel_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> left_aligned_side_panel_separator_ =
nullptr;
// The Lens side panel.
raw_ptr<SidePanel> lens_side_panel_ = nullptr;
raw_ptr<SidePanel, DanglingUntriaged> lens_side_panel_ = nullptr;
std::unique_ptr<SidePanelCoordinator> side_panel_coordinator_;
@ -1109,7 +1113,8 @@ class BrowserView : public BrowserWindow,
// Provides access to the toolbar buttons this browser view uses. Buttons may
// appear in a hosted app frame or in a tabbed UI toolbar.
raw_ptr<ToolbarButtonProvider> toolbar_button_provider_ = nullptr;
raw_ptr<ToolbarButtonProvider, DanglingUntriaged> toolbar_button_provider_ =
nullptr;
// The handler responsible for showing autofill bubbles.
std::unique_ptr<autofill::AutofillBubbleHandler> autofill_bubble_handler_;

@ -169,33 +169,36 @@ class BrowserViewLayout : public views::LayoutManager {
gfx::NativeView const host_view_;
// The owning browser view.
const raw_ptr<BrowserView> browser_view_;
const raw_ptr<BrowserView, DanglingUntriaged> browser_view_;
// Child views that the layout manager manages.
// NOTE: If you add a view, try to add it as a views::View, which makes
// testing much easier.
const raw_ptr<views::View> top_container_;
const raw_ptr<TabStripRegionView> tab_strip_region_view_;
const raw_ptr<views::View> toolbar_;
const raw_ptr<InfoBarContainerView> infobar_container_;
const raw_ptr<views::View> contents_container_;
const raw_ptr<views::View> side_search_side_panel_;
const raw_ptr<views::View> left_aligned_side_panel_separator_;
const raw_ptr<views::View> unified_side_panel_;
const raw_ptr<views::View> right_aligned_side_panel_separator_;
const raw_ptr<views::View> lens_side_panel_;
const raw_ptr<ImmersiveModeController> immersive_mode_controller_;
const raw_ptr<views::View> contents_separator_;
const raw_ptr<views::View, DanglingUntriaged> top_container_;
const raw_ptr<TabStripRegionView, DanglingUntriaged> tab_strip_region_view_;
const raw_ptr<views::View, DanglingUntriaged> toolbar_;
const raw_ptr<InfoBarContainerView, DanglingUntriaged> infobar_container_;
const raw_ptr<views::View, DanglingUntriaged> contents_container_;
const raw_ptr<views::View, DanglingUntriaged> side_search_side_panel_;
const raw_ptr<views::View, DanglingUntriaged>
left_aligned_side_panel_separator_;
const raw_ptr<views::View, DanglingUntriaged> unified_side_panel_;
const raw_ptr<views::View, DanglingUntriaged>
right_aligned_side_panel_separator_;
const raw_ptr<views::View, DanglingUntriaged> lens_side_panel_;
const raw_ptr<ImmersiveModeController, DanglingUntriaged>
immersive_mode_controller_;
const raw_ptr<views::View, DanglingUntriaged> contents_separator_;
raw_ptr<views::View> webui_tab_strip_ = nullptr;
raw_ptr<views::View> loading_bar_ = nullptr;
raw_ptr<TabStrip> tab_strip_ = nullptr;
raw_ptr<BookmarkBarView> bookmark_bar_ = nullptr;
raw_ptr<views::View> download_shelf_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> webui_tab_strip_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> loading_bar_ = nullptr;
raw_ptr<TabStrip, DanglingUntriaged> tab_strip_ = nullptr;
raw_ptr<BookmarkBarView, DanglingUntriaged> bookmark_bar_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> download_shelf_ = nullptr;
// The widget displaying a border on top of contents container for
// highlighting the content. Not created by default.
raw_ptr<views::Widget> contents_border_widget_ = nullptr;
raw_ptr<views::Widget, DanglingUntriaged> contents_border_widget_ = nullptr;
// The bounds within which the vertically-stacked contents of the BrowserView
// should be laid out within. This is just the local bounds of the

@ -66,7 +66,8 @@ class DesktopBrowserFrameAura : public views::DesktopNativeWidgetAura,
raw_ptr<BrowserFrame> browser_frame_;
// Owned by the RootWindow.
raw_ptr<BrowserDesktopWindowTreeHost> browser_desktop_window_tree_host_;
raw_ptr<BrowserDesktopWindowTreeHost, DanglingUntriaged>
browser_desktop_window_tree_host_;
std::unique_ptr<wm::VisibilityController> visibility_controller_;
};

@ -44,7 +44,7 @@ class DesktopBrowserFrameAuraLinux : public DesktopBrowserFrameAura {
// Whether the custom Chrome frame preference is set.
BooleanPrefMember use_custom_frame_pref_;
raw_ptr<BrowserDesktopWindowTreeHostLinux> host_ = nullptr;
raw_ptr<BrowserDesktopWindowTreeHostLinux, DanglingUntriaged> host_ = nullptr;
};
#endif // CHROME_BROWSER_UI_VIEWS_FRAME_DESKTOP_BROWSER_FRAME_AURA_LINUX_H_

@ -76,7 +76,7 @@ class TabStripRegionView final : public views::AccessiblePaneView {
views::FlexLayout* layout_manager_for_testing() { return layout_manager_; }
raw_ptr<views::View> GetTabStripContainerForTesting() {
return tab_strip_container_;
return raw_ptr<views::View>(tab_strip_container_);
}
private:
@ -84,13 +84,13 @@ class TabStripRegionView final : public views::AccessiblePaneView {
// whenever any input of the computation of the border's sizing changes.
void UpdateNewTabButtonBorder();
raw_ptr<views::FlexLayout> layout_manager_ = nullptr;
raw_ptr<views::View> tab_strip_container_;
raw_ptr<views::View> reserved_grab_handle_space_;
raw_ptr<TabStrip> tab_strip_;
raw_ptr<NewTabButton> new_tab_button_ = nullptr;
raw_ptr<TabSearchButton> tab_search_button_ = nullptr;
raw_ptr<TipMarqueeView> tip_marquee_view_ = nullptr;
raw_ptr<views::FlexLayout, DanglingUntriaged> layout_manager_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> tab_strip_container_;
raw_ptr<views::View, DanglingUntriaged> reserved_grab_handle_space_;
raw_ptr<TabStrip, DanglingUntriaged> tab_strip_;
raw_ptr<NewTabButton, DanglingUntriaged> new_tab_button_ = nullptr;
raw_ptr<TabSearchButton, DanglingUntriaged> tab_search_button_ = nullptr;
raw_ptr<TipMarqueeView, DanglingUntriaged> tip_marquee_view_ = nullptr;
const base::CallbackListSubscription subscription_ =
ui::TouchUiController::Get()->RegisterCallback(

@ -43,7 +43,7 @@ class WebContentsCloseHandler {
// close was canceled.
void OnStillHaventClosed();
raw_ptr<WebContentsCloseHandlerDelegate> delegate_;
raw_ptr<WebContentsCloseHandlerDelegate, DanglingUntriaged> delegate_;
// If true, WillCloseAllTabs() has been invoked.
bool in_close_;

@ -221,7 +221,7 @@ class HungRendererDialogView : public views::DialogDelegateView,
static void BypassActiveBrowserRequirementForTests();
// The WebContents that this dialog was created for and is associated with.
const raw_ptr<content::WebContents> web_contents_;
const raw_ptr<content::WebContents, DanglingUntriaged> web_contents_;
// The label describing the list.
raw_ptr<views::Label> info_label_ = nullptr;

@ -172,10 +172,10 @@ class CastDialogView : public views::BubbleDialogDelegateView,
raw_ptr<CastDialogController> controller_;
// ScrollView containing the list of sink buttons.
raw_ptr<views::ScrollView> scroll_view_ = nullptr;
raw_ptr<views::ScrollView, DanglingUntriaged> scroll_view_ = nullptr;
// View shown while there are no sinks.
raw_ptr<views::View> no_sinks_view_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> no_sinks_view_ = nullptr;
const raw_ptr<Profile> profile_;

@ -30,8 +30,8 @@ class PageInfoAboutThisSiteContentView : public views::View, public PageInfoUI {
const page_info::proto::SiteInfo& info);
void SourceLinkClicked(const ui::Event& event);
raw_ptr<PageInfo> presenter_;
raw_ptr<ChromePageInfoUiDelegate> ui_delegate_;
raw_ptr<PageInfo, DanglingUntriaged> presenter_;
raw_ptr<ChromePageInfoUiDelegate, DanglingUntriaged> ui_delegate_;
page_info::proto::SiteInfo info_;
};

@ -72,7 +72,7 @@ class PageInfoCookiesContentView : public views::View, public PageInfoUI {
base::OnceClosure initialized_callback_ = base::NullCallback();
raw_ptr<PageInfo> presenter_;
raw_ptr<PageInfo, DanglingUntriaged> presenter_;
// The view that contains the fps_button and cookies_dialog_button.
raw_ptr<views::View> cookies_buttons_container_view_ = nullptr;

@ -123,9 +123,9 @@ class PageInfoMainView : public views::View,
// subpage and a separator.
[[nodiscard]] std::unique_ptr<views::View> CreateAdPersonalizationSection();
raw_ptr<PageInfo> presenter_;
raw_ptr<PageInfo, DanglingUntriaged> presenter_;
raw_ptr<ChromePageInfoUiDelegate> ui_delegate_;
raw_ptr<ChromePageInfoUiDelegate, DanglingUntriaged> ui_delegate_;
raw_ptr<PageInfoNavigationHandler> navigation_handler_;
@ -133,7 +133,7 @@ class PageInfoMainView : public views::View,
std::u16string details_text_ = std::u16string();
// The button that opens the "Connection" subpage.
raw_ptr<PageInfoHoverButton> connection_button_ = nullptr;
raw_ptr<PageInfoHoverButton, DanglingUntriaged> connection_button_ = nullptr;
// The view that contains the certificate, cookie, and permissions sections.
raw_ptr<views::View> site_settings_view_ = nullptr;
@ -153,7 +153,8 @@ class PageInfoMainView : public views::View,
raw_ptr<views::View> about_this_site_section_ = nullptr;
// The view that contains `SecurityInformationView` and a certificate button.
raw_ptr<PageInfoSecurityContentView> security_content_view_ = nullptr;
raw_ptr<PageInfoSecurityContentView, DanglingUntriaged>
security_content_view_ = nullptr;
// The section that contains 'Ad personalization' button that opens a
// subpage.

@ -34,7 +34,7 @@ class PageInfoSecurityContentView : public views::View, public PageInfoUI {
void SecurityDetailsClicked(const ui::Event& event);
raw_ptr<PageInfo> presenter_;
raw_ptr<PageInfo, DanglingUntriaged> presenter_;
// The button that opens the "Certificate" dialog.
raw_ptr<PageInfoHoverButton> certificate_button_ = nullptr;

@ -24,7 +24,7 @@ class PageSwitcherView : public views::View {
void ChildPreferredSizeChanged(views::View* child) override;
private:
raw_ptr<views::View> current_page_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> current_page_ = nullptr;
};
#endif // CHROME_BROWSER_UI_VIEWS_PAGE_INFO_PAGE_SWITCHER_VIEW_H_

@ -149,7 +149,8 @@ class PasswordItemsView::PasswordRow {
void UndoButtonPressed();
const raw_ptr<PasswordItemsView> parent_;
const raw_ptr<const password_manager::PasswordForm> password_form_;
const raw_ptr<const password_manager::PasswordForm, DanglingUntriaged>
password_form_;
bool deleted_ = false;
};

@ -65,7 +65,7 @@ class BubbleButtonController : public views::ButtonController {
}
private:
raw_ptr<BubbleOwnerDelegate> bubble_owner_ = nullptr;
raw_ptr<BubbleOwnerDelegate, DanglingUntriaged> bubble_owner_ = nullptr;
};
ChipController::ChipController(Browser* browser, OmniboxChipButton* chip_view)

@ -59,7 +59,7 @@ class SharingIconView : public PageActionIconView {
void UpdateOpacity();
private:
raw_ptr<SharingUiController> last_controller_ = nullptr;
raw_ptr<SharingUiController, DanglingUntriaged> last_controller_ = nullptr;
bool loading_animation_ = false;
bool should_show_error_ = false;
GetControllerCallback get_controller_callback_;

@ -153,8 +153,8 @@ class StatusBubbleViews : public StatusBubble {
// going outside the bounds of the hosting widget.
std::unique_ptr<views::Widget> popup_;
raw_ptr<views::View> base_view_;
raw_ptr<StatusView> view_ = nullptr;
raw_ptr<views::View, DanglingUntriaged> base_view_;
raw_ptr<StatusView, DanglingUntriaged> view_ = nullptr;
// Manages the expansion of a status bubble to fit a long URL.
std::unique_ptr<StatusViewExpander> expand_view_;

@ -51,7 +51,7 @@ class BubbleSyncPromoView : public views::View {
void EnableSync();
// Delegate, to handle clicks on the sign-in buttons.
raw_ptr<BubbleSyncPromoDelegate> delegate_;
raw_ptr<BubbleSyncPromoDelegate, DanglingUntriaged> delegate_;
raw_ptr<BubbleSyncPromoSigninButtonView> signin_button_view_ = nullptr;
};
#endif // CHROME_BROWSER_UI_VIEWS_SYNC_BUBBLE_SYNC_PROMO_VIEW_H_

@ -87,10 +87,10 @@ class NewTabButton : public views::ImageButton,
bool extend_to_top) const;
// Tab strip that contains this button.
raw_ptr<TabStrip> tab_strip_;
raw_ptr<TabStrip, DanglingUntriaged> tab_strip_;
// Contains our ink drop layer so it can paint above our background.
raw_ptr<views::InkDropContainerView> ink_drop_container_;
raw_ptr<views::InkDropContainerView, DanglingUntriaged> ink_drop_container_;
// For tracking whether this object has been destroyed. Must be last.
base::WeakPtrFactory<NewTabButton> weak_factory_{this};

@ -136,7 +136,7 @@ class TabStyleHighlightPathGenerator : public views::HighlightPathGenerator {
}
private:
const raw_ptr<TabStyle> tab_style_;
const raw_ptr<TabStyle, DanglingUntriaged> tab_style_;
};
} // namespace
@ -176,9 +176,9 @@ class Tab::TabCloseButtonObserver : public views::ViewObserver {
base::ScopedObservation<views::View, views::ViewObserver>
tab_close_button_observation_{this};
raw_ptr<Tab> tab_;
raw_ptr<views::View> close_button_;
raw_ptr<TabSlotController> controller_;
raw_ptr<Tab, DanglingUntriaged> tab_;
raw_ptr<views::View, DanglingUntriaged> close_button_;
raw_ptr<TabSlotController, DanglingUntriaged> controller_;
};
// Tab -------------------------------------------------------------------------

@ -64,8 +64,8 @@ class TabSlotAnimationDelegate : public gfx::AnimationDelegate {
TabSlotView* slot_view() { return slot_view_; }
private:
const raw_ptr<TabContainer> tab_container_;
const raw_ptr<TabSlotView> slot_view_;
const raw_ptr<TabContainer, DanglingUntriaged> tab_container_;
const raw_ptr<TabSlotView, DanglingUntriaged> slot_view_;
};
TabSlotAnimationDelegate::TabSlotAnimationDelegate(TabContainer* tab_container,

Some files were not shown because too many files have changed in this diff Show More