| Index: chrome/browser/ui/views/autofill/card_unmask_prompt_views.cc
|
| diff --git a/chrome/browser/ui/views/autofill/card_unmask_prompt_views.cc b/chrome/browser/ui/views/autofill/card_unmask_prompt_views.cc
|
| index f6487bfc3bc6b505e562a511af166cb7fc79574a..d0fd788bfd0bce5d9b46a2491f362b9247cc0535 100644
|
| --- a/chrome/browser/ui/views/autofill/card_unmask_prompt_views.cc
|
| +++ b/chrome/browser/ui/views/autofill/card_unmask_prompt_views.cc
|
| @@ -58,7 +58,8 @@ class CardUnmaskPromptViews : public CardUnmaskPromptView,
|
| error_label_(nullptr),
|
| storage_checkbox_(nullptr),
|
| progress_overlay_(nullptr),
|
| - progress_label_(nullptr) {}
|
| + progress_label_(nullptr),
|
| + weak_ptr_factory_(this) {}
|
|
|
| ~CardUnmaskPromptViews() override {
|
| if (controller_)
|
| @@ -90,7 +91,7 @@ class CardUnmaskPromptViews : public CardUnmaskPromptView,
|
| IDS_AUTOFILL_CARD_UNMASK_VERIFICATION_SUCCESS));
|
| base::MessageLoop::current()->PostDelayedTask(
|
| FROM_HERE, base::Bind(&CardUnmaskPromptViews::ClosePrompt,
|
| - base::Unretained(this)),
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| base::TimeDelta::FromSeconds(1));
|
| } else {
|
| // TODO(estade): it's somewhat jarring when the error comes back too
|
| @@ -419,6 +420,8 @@ class CardUnmaskPromptViews : public CardUnmaskPromptView,
|
| views::View* progress_overlay_;
|
| views::Label* progress_label_;
|
|
|
| + base::WeakPtrFactory<CardUnmaskPromptViews> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(CardUnmaskPromptViews);
|
| };
|
|
|
|
|