[TabGroupSync] Avoid crash when tab closes
If the tab was closed before the avatar could be fetched, the unretained
pointer would be UAF.
Fixed: 395899230
Change-Id: Ifc50a0a55d234293ab2152cf63d68109693a3f87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6254880
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Mickey Burks <mickeyburks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1418985}
diff --git a/chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_tab_data.cc b/chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_tab_data.cc
index cc8c17f..f8e78b7 100644
--- a/chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_tab_data.cc
+++ b/chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_tab_data.cc
@@ -119,7 +119,7 @@
data_sharing_service->GetAvatarImageForURL(
avatar_url, signin::kAccountInfoImageSize,
base::BindOnce(&CollaborationMessagingTabData::CommitMessage,
- base::Unretained(this), message),
+ GetWeakPtr(), message),
image_fetcher_service->GetImageFetcher(
image_fetcher::ImageFetcherConfig::kDiskCacheOnly));
}