Chromium Code Reviews| Index: chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc |
| diff --git a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc |
| index a262f8e23f5c00a16e4690354aa84d6c1cd64cea..ee23645cb18e3961bb5404e4b43e271de2504d81 100644 |
| --- a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc |
| +++ b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc |
| @@ -72,6 +72,9 @@ class ChooserBubbleUiViewDelegate : public views::BubbleDialogDelegateView, |
| void UpdateTableView() const; |
| private: |
| + // |footnote_link_| will transfer its ownership of the pointer to its |
| + // caller when CreateFootnoteView() is called. |
| + std::unique_ptr<views::StyledLabel> footnote_link_; |
| ChooserContentView* chooser_content_view_; |
| BubbleReference bubble_reference_; |
| @@ -99,8 +102,9 @@ ChooserBubbleUiViewDelegate::ChooserBubbleUiViewDelegate( |
| // | Get help | |
| // ------------------------------------ |
| - chooser_content_view_ = |
| - new ChooserContentView(this, std::move(chooser_controller)); |
| + footnote_link_.reset(new views::StyledLabel(base::string16(), nullptr)); |
| + chooser_content_view_ = new ChooserContentView( |
|
sky
2016/11/09 17:55:47
MakeUnique on all these.
juncai
2016/11/09 20:25:02
|chooser_content_view_| is a raw pointer of Choose
|
| + this, std::move(chooser_controller), footnote_link_.get()); |
| } |
| ChooserBubbleUiViewDelegate::~ChooserBubbleUiViewDelegate() {} |
| @@ -120,7 +124,8 @@ bool ChooserBubbleUiViewDelegate::IsDialogButtonEnabled( |
| } |
| views::View* ChooserBubbleUiViewDelegate::CreateFootnoteView() { |
| - return chooser_content_view_->CreateFootnoteView(); |
| + DCHECK(footnote_link_); |
| + return footnote_link_.release(); |
| } |
| bool ChooserBubbleUiViewDelegate::Accept() { |