Chromium Code Reviews| Index: chrome/browser/ui/views/autofill/save_card_bubble_views.cc |
| diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc |
| index 10706a845da0c011efca18744f830e3e04b47c29..11faaa0d16ec413427b5594810ea339c193c2028 100644 |
| --- a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc |
| +++ b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc |
| @@ -32,15 +32,6 @@ namespace { |
| // Fixed width of the bubble. |
| const int kBubbleWidth = 395; |
| -// TODO(bondd): BubbleManager will eventually move this logic somewhere else, |
| -// and then kIsOkButtonOnLeftSide can be removed from here and |
| -// dialog_client_view.cc. |
| -#if defined(OS_WIN) || defined(OS_CHROMEOS) |
| -const bool kIsOkButtonOnLeftSide = true; |
| -#else |
| -const bool kIsOkButtonOnLeftSide = false; |
| -#endif |
| - |
| scoped_ptr<views::StyledLabel> CreateLegalMessageLineLabel( |
| const LegalMessageLine& line, |
| views::StyledLabelListener* listener) { |
| @@ -60,11 +51,9 @@ SaveCardBubbleViews::SaveCardBubbleViews(views::View* anchor_view, |
| SaveCardBubbleController* controller) |
| : LocationBarBubbleDelegateView(anchor_view, web_contents), |
| controller_(controller), |
| - save_button_(nullptr), |
| - cancel_button_(nullptr), |
| learn_more_link_(nullptr) { |
| DCHECK(controller); |
| - views::BubbleDelegateView::CreateBubble(this); |
| + views::BubbleDialogDelegateView::CreateBubble(this); |
| } |
| SaveCardBubbleViews::~SaveCardBubbleViews() {} |
| @@ -78,6 +67,16 @@ void SaveCardBubbleViews::Hide() { |
| Close(); |
| } |
| +views::View* SaveCardBubbleViews::CreateExtraView() { |
| + if (!learn_more_link_) { |
| + learn_more_link_ = |
| + new views::Link(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); |
| + learn_more_link_->SetUnderline(false); |
| + learn_more_link_->set_listener(this); |
| + } |
| + return learn_more_link_; |
| +} |
| + |
| views::View* SaveCardBubbleViews::CreateFootnoteView() { |
| if (controller_->GetLegalMessageLines().empty()) |
| return nullptr; |
| @@ -94,12 +93,35 @@ views::View* SaveCardBubbleViews::CreateFootnoteView() { |
| return view; |
| } |
| -gfx::Size SaveCardBubbleViews::GetPreferredSize() const { |
| - return gfx::Size(kBubbleWidth, GetHeightForWidth(kBubbleWidth)); |
| +bool SaveCardBubbleViews::Accept() { |
| + controller_->OnSaveButton(); |
| + return true; |
|
msw
2016/03/03 23:01:39
nit: maybe return LocationBarBubbleDelegateView::A
Evan Stade
2016/03/07 18:36:38
I don't think that's right. This seems like a situ
|
| +} |
| + |
| +bool SaveCardBubbleViews::Cancel() { |
| + controller_->OnCancelButton(); |
| + return true; |
|
msw
2016/03/03 23:01:39
nit: maybe return LocationBarBubbleDelegateView::C
Evan Stade
2016/03/07 18:36:38
ditto
|
| +} |
| + |
| +int SaveCardBubbleViews::GetDialogButtons() const { |
| + // This is the default for BubbleDialogDelegateView, but it's not the default |
| + // for LocationBarBubbleDelegateView. |
| + return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL; |
| +} |
| + |
| +base::string16 SaveCardBubbleViews::GetDialogButtonLabel( |
| + ui::DialogButton button) const { |
| + return l10n_util::GetStringUTF16(button == ui::DIALOG_BUTTON_OK |
| + ? IDS_AUTOFILL_SAVE_CARD_PROMPT_ACCEPT |
| + : IDS_AUTOFILL_SAVE_CARD_PROMPT_DENY); |
| +} |
| + |
| +bool SaveCardBubbleViews::ShouldDefaultButtonBeBlue() const { |
| + return true; |
| } |
| -views::View* SaveCardBubbleViews::GetInitiallyFocusedView() { |
| - return save_button_; |
| +gfx::Size SaveCardBubbleViews::GetPreferredSize() const { |
| + return gfx::Size(kBubbleWidth, GetHeightForWidth(kBubbleWidth)); |
| } |
| base::string16 SaveCardBubbleViews::GetWindowTitle() const { |
| @@ -111,17 +133,6 @@ void SaveCardBubbleViews::WindowClosing() { |
| controller_->OnBubbleClosed(); |
| } |
| -void SaveCardBubbleViews::ButtonPressed(views::Button* sender, |
| - const ui::Event& event) { |
| - if (sender == save_button_) { |
| - controller_->OnSaveButton(); |
| - } else { |
| - DCHECK_EQ(sender, cancel_button_); |
| - controller_->OnCancelButton(); |
| - } |
| - Close(); |
| -} |
| - |
| void SaveCardBubbleViews::LinkClicked(views::Link* source, int event_flags) { |
| DCHECK_EQ(source, learn_more_link_); |
| controller_->OnLearnMoreClicked(); |
| @@ -189,36 +200,6 @@ scoped_ptr<views::View> SaveCardBubbleViews::CreateMainContentView() { |
| view->AddChildView(explanation_label); |
| } |
| - // Add "learn more" link and accept/cancel buttons. |
| - views::View* button_view = new views::View(); |
| - views::BoxLayout* button_view_layout = new views::BoxLayout( |
| - views::BoxLayout::kHorizontal, 0, 0, views::kRelatedButtonHSpacing); |
| - button_view->SetLayoutManager(button_view_layout); |
| - view->AddChildView(button_view); |
| - |
| - learn_more_link_ = new views::Link(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); |
| - learn_more_link_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| - learn_more_link_->SetUnderline(false); |
| - learn_more_link_->set_listener(this); |
| - button_view->AddChildView(learn_more_link_); |
| - button_view_layout->SetFlexForView(learn_more_link_, 1); |
| - |
| - save_button_ = new views::BlueButton( |
| - this, l10n_util::GetStringUTF16(IDS_AUTOFILL_SAVE_CARD_PROMPT_ACCEPT)); |
| - save_button_->SetIsDefault(true); |
| - |
| - cancel_button_ = new views::LabelButton( |
| - this, l10n_util::GetStringUTF16(IDS_AUTOFILL_SAVE_CARD_PROMPT_DENY)); |
| - cancel_button_->SetStyle(views::Button::STYLE_BUTTON); |
| - |
| - if (kIsOkButtonOnLeftSide) { |
| - button_view->AddChildView(save_button_); |
| - button_view->AddChildView(cancel_button_); |
| - } else { |
| - button_view->AddChildView(cancel_button_); |
| - button_view->AddChildView(save_button_); |
| - } |
| - |
| return view; |
| } |