#ifndef CHROME_TEST_BASE_DIALOG_TEST_BROWSER_WINDOW_H_
#define CHROME_TEST_BASE_DIALOG_TEST_BROWSER_WINDOW_H_
#include <memory>
#include "chrome/test/base/test_browser_window.h"
#include "components/web_modal/web_contents_modal_dialog_host.h"
class BrowserWindowInterface;
namespace content {
class WebContents;
}
namespace views {
class Widget;
}
class DialogTestBrowserWindow : public TestBrowserWindow,
public web_modal::WebContentsModalDialogHost {
public:
DialogTestBrowserWindow();
DialogTestBrowserWindow(const DialogTestBrowserWindow&) = delete;
DialogTestBrowserWindow& operator=(const DialogTestBrowserWindow&) = delete;
~DialogTestBrowserWindow() override;
web_modal::WebContentsModalDialogHost* GetWebContentsModalDialogHost()
override;
web_modal::WebContentsModalDialogHost* GetWebContentsModalDialogHostFor(
content::WebContents* web_contents) override;
gfx::NativeView GetHostView() const override;
gfx::Point GetDialogPosition(const gfx::Size& size) override;
gfx::Size GetMaximumDialogSize() override;
void AddObserver(web_modal::ModalDialogHostObserver* observer) override;
void RemoveObserver(web_modal::ModalDialogHostObserver* observer) override;
private:
BrowserWindowInterface* FindBrowser() const;
std::unique_ptr<views::Widget> host_window_;
};
#endif