Chromium Code Reviews| Index: chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm |
| diff --git a/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm b/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm |
| index 3fd1c0abeefaee948816c1c55113567d00000012..838efec483ff3c34b4b97d7755ec25ca4d48b886 100644 |
| --- a/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm |
| +++ b/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm |
| @@ -65,6 +65,7 @@ scoped_ptr<BubbleUi> ChooserBubbleDelegate::BuildBubbleUi() { |
| base::scoped_nsobject<NSTableView> tableView_; |
| base::scoped_nsobject<NSButton> connectButton_; |
| base::scoped_nsobject<NSButton> cancelButton_; |
| + bool buttonPressed_; |
| Browser* browser_; // Weak. |
| ChooserBubbleDelegate* chooserBubbleDelegate_; // Weak. |
| @@ -137,6 +138,7 @@ scoped_ptr<BubbleUi> ChooserBubbleDelegate::BuildBubbleUi() { |
| DCHECK(chooserBubbleDelegate); |
| DCHECK(bridge); |
| + buttonPressed_ = false; |
|
Robert Sesek
2015/12/21 21:22:17
Can remove, ObjC objects are zero-initialized.
juncai
2015/12/21 21:38:04
Done.
|
| browser_ = browser; |
| chooserBubbleDelegate_ = chooserBubbleDelegate; |
| @@ -168,6 +170,8 @@ scoped_ptr<BubbleUi> ChooserBubbleDelegate::BuildBubbleUi() { |
| removeObserver:self |
| name:NSWindowDidMoveNotification |
| object:nil]; |
| + if (!buttonPressed_) |
| + chooserBubbleDelegate_->Close(); |
| bridge_->OnBubbleClosing(); |
| [super windowWillClose:notification]; |
| } |
| @@ -444,12 +448,14 @@ scoped_ptr<BubbleUi> ChooserBubbleDelegate::BuildBubbleUi() { |
| } |
| - (void)onConnect:(id)sender { |
| + buttonPressed_ = true; |
| NSInteger row = [tableView_ selectedRow]; |
| chooserBubbleDelegate_->Select(row); |
| [self close]; |
| } |
| - (void)onCancel:(id)sender { |
| + buttonPressed_ = true; |
| chooserBubbleDelegate_->Cancel(); |
| [self close]; |
| } |