Avoid dangling pointers in LocalCardMigrationUiTest.

Bug: 1419832
Change-Id: Ia7483b945b1977d4882871b1d1f17b8313ca3238
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296017
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1110857}
diff --git a/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc b/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc
index 822f298..de288ac 100644
--- a/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc
+++ b/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc
@@ -23,7 +23,6 @@
 #include "chrome/browser/sync/sync_service_factory.h"
 #include "chrome/browser/sync/test/integration/sync_service_impl_harness.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
-#include "chrome/browser/ui/autofill/chrome_autofill_client.h"
 #include "chrome/browser/ui/autofill/payments/local_card_migration_bubble_controller_impl.h"
 #include "chrome/browser/ui/autofill/payments/local_card_migration_dialog_controller_impl.h"
 #include "chrome/browser/ui/autofill/payments/save_card_bubble_controller_impl.h"
@@ -49,6 +48,7 @@
 #include "chrome/browser/web_data_service_factory.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
+#include "components/autofill/content/browser/content_autofill_client.h"
 #include "components/autofill/content/browser/content_autofill_driver.h"
 #include "components/autofill/content/browser/test_autofill_manager_injector.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
@@ -206,21 +206,14 @@
     test_shared_loader_factory_ =
         base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
             &test_url_loader_factory_);
-    ContentAutofillDriver::GetForRenderFrameHost(
-        GetActiveWebContents()->GetPrimaryMainFrame())
-        ->autofill_manager()
-        ->client()
-        ->GetPaymentsClient()
-        ->set_url_loader_factory_for_testing(test_shared_loader_factory_);
+    ContentAutofillClient* client =
+        ContentAutofillClient::FromWebContents(GetActiveWebContents());
+    client->GetPaymentsClient()->set_url_loader_factory_for_testing(
+        test_shared_loader_factory_);
 
     // Set up this class as the ObserverForTest implementation.
     local_card_migration_manager_ =
-        ContentAutofillDriver::GetForRenderFrameHost(
-            GetActiveWebContents()->GetPrimaryMainFrame())
-            ->autofill_manager()
-            ->client()
-            ->GetFormDataImporter()
-            ->local_card_migration_manager_.get();
+        client->GetFormDataImporter()->local_card_migration_manager_.get();
 
     local_card_migration_manager_->SetEventObserverForTesting(this);
     personal_data_ = PersonalDataManagerFactory::GetForProfile(GetProfile(0));
@@ -246,6 +239,13 @@
     SetUpMigrateCardsRpcPaymentsAccepts();
   }
 
+  void TearDownOnMainThread() override {
+    personal_data_ = nullptr;
+    local_card_migration_manager_ = nullptr;
+
+    SyncTest::TearDownOnMainThread();
+  }
+
   void SetPaymentsCustomerDataOnDBSequence(
       AutofillWebDataService* wds,
       const PaymentsCustomerData& customer_data) {
@@ -520,10 +520,8 @@
 
   void WaitForCardDeletion() { WaitForPersonalDataChange(GetProfile(0)); }
 
-  raw_ptr<LocalCardMigrationManager, DanglingUntriaged>
-      local_card_migration_manager_;
-
-  raw_ptr<PersonalDataManager, DanglingUntriaged> personal_data_;
+  raw_ptr<LocalCardMigrationManager> local_card_migration_manager_ = nullptr;
+  raw_ptr<PersonalDataManager> personal_data_ = nullptr;
   PersonalDataLoadedObserverMock personal_data_observer_;
 
  private: