Chromium Code Reviews| Index: chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h |
| diff --git a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h |
| index 596dbd344d3ca9c654bb02fcf49a2a83c81f0c33..481a4c50e4633ac24c84b7a95fef0f1eeb1cb63f 100644 |
| --- a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h |
| +++ b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h |
| @@ -10,9 +10,11 @@ |
| #include "base/macros.h" |
| #include "components/bubble/bubble_ui.h" |
| #include "ui/views/bubble/bubble_border.h" |
| +#include "ui/views/widget/widget_observer.h" |
| namespace views { |
| class View; |
| +class Widget; |
|
msw
2017/03/04 03:22:59
nit: not necessary
Reilly Grant (use Gerrit)
2017/03/06 19:09:58
Done.
|
| } |
| class Browser; |
| @@ -24,7 +26,7 @@ class ChooserBubbleUiViewDelegate; |
| // for user to grant permission. It can be used by the WebUSB or WebBluetooth |
| // APIs. It is owned by the BubbleController, which is owned by the |
| // BubbleManager. |
| -class ChooserBubbleUiView : public BubbleUi { |
| +class ChooserBubbleUiView : public BubbleUi, public views::WidgetObserver { |
| public: |
| ChooserBubbleUiView(Browser* browser, |
| std::unique_ptr<ChooserController> chooser_controller); |
| @@ -35,13 +37,16 @@ class ChooserBubbleUiView : public BubbleUi { |
| void Close() override; |
| void UpdateAnchorPosition() override; |
| + // views::WidgetObserver: |
| + void OnWidgetClosing(views::Widget* widget) override; |
| + |
| private: |
| views::View* GetAnchorView(); |
| views::BubbleBorder::Arrow GetAnchorArrow(); |
| Browser* browser_; // Weak. |
| // Weak. Owned by its parent view. |
| - ChooserBubbleUiViewDelegate* chooser_bubble_ui_view_delegate_; |
| + ChooserBubbleUiViewDelegate* bubble_view_ = nullptr; |
| DISALLOW_COPY_AND_ASSIGN(ChooserBubbleUiView); |
| }; |