Index: chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.h |
diff --git a/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.h b/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.h |
index 21b2b9b3bf31f661d43accca3ac819642146bcde..f1081c67f72d95714e07b90dfcf08d2bd3adf245 100644 |
--- a/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.h |
+++ b/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.h |
@@ -59,8 +59,18 @@ class NativeWebContentsModalDialogManagerViews |
void HostChanged(web_modal::WebContentsModalDialogHost* new_host) override; |
gfx::NativeWindow dialog() override; |
- private: |
+ protected: |
+ web_modal::SingleWebContentsDialogManagerDelegate* native_delegate(); |
+ |
+ // By default just calls widget->Show() or Hide(), but allows a derived class |
+ // to override in order to hide an alternate way (e.g. if the default hide |
+ // would tear down attached dialogs too early). |
+ virtual void ShowWidget(views::Widget* widget); |
+ virtual void HideWidget(views::Widget* widget); |
+ |
static views::Widget* GetWidget(gfx::NativeWindow dialog); |
+ |
+ private: |
void WidgetClosing(views::Widget* widget); |
web_modal::SingleWebContentsDialogManagerDelegate* native_delegate_; |