Index: chrome/browser/ui/views/profiles/profile_chooser_view.h |
diff --git a/chrome/browser/ui/views/profiles/profile_chooser_view.h b/chrome/browser/ui/views/profiles/profile_chooser_view.h |
index b40e6af5af9d8e9edb06e87f084a1ea8e2c145b2..83591b12017348ac3a15e78b793130d66e57bce4 100644 |
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.h |
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.h |
@@ -13,6 +13,8 @@ |
#include "chrome/browser/profiles/profile_metrics.h" |
#include "chrome/browser/ui/browser_window.h" |
#include "chrome/browser/ui/profile_chooser_constants.h" |
+#include "components/web_modal/web_contents_modal_dialog_host.h" |
+#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h" |
#include "content/public/browser/web_contents_delegate.h" |
#include "google_apis/gaia/oauth2_token_service.h" |
#include "ui/views/bubble/bubble_delegate.h" |
@@ -39,14 +41,17 @@ class Browser; |
// This bubble view is displayed when the user clicks on the avatar button. |
// It displays a list of profiles and allows users to switch between profiles. |
-class ProfileChooserView : public content::WebContentsDelegate, |
- public views::BubbleDelegateView, |
- public views::ButtonListener, |
- public views::LinkListener, |
- public views::StyledLabelListener, |
- public views::TextfieldController, |
- public AvatarMenuObserver, |
- public OAuth2TokenService::Observer { |
+class ProfileChooserView |
+ : public content::WebContentsDelegate, |
+ public views::BubbleDelegateView, |
+ public views::ButtonListener, |
+ public views::LinkListener, |
+ public views::StyledLabelListener, |
+ public views::TextfieldController, |
+ public web_modal::WebContentsModalDialogHost, |
+ public web_modal::WebContentsModalDialogManagerDelegate, |
+ public AvatarMenuObserver, |
+ public OAuth2TokenService::Observer { |
public: |
// Shows the bubble if one is not already showing. This allows us to easily |
// make a button toggle the bubble on and off when clicked: we unconditionally |
@@ -73,6 +78,19 @@ class ProfileChooserView : public content::WebContentsDelegate, |
static ShowingType IsShowingInBrowser(const Browser* browser); |
static void Hide(); |
+ // web_modal::WebContentsModalDialogManagerDelegate implementation. |
+ web_modal::WebContentsModalDialogHost* GetWebContentsModalDialogHost() |
+ override; |
+ |
+ // web_modal::WebContentsModalDialogHost implementation. |
+ gfx::Size GetMaximumDialogSize() override; |
+ |
+ // web_modal::ModalDialogHost implementation. |
+ gfx::NativeView GetHostView() const override; |
+ gfx::Point GetDialogPosition(const gfx::Size& size) override; |
+ void AddObserver(web_modal::ModalDialogHostObserver* observer) override; |
+ void RemoveObserver(web_modal::ModalDialogHostObserver* observer) override; |
+ |
private: |
friend class ProfileChooserViewExtensionsTest; |