| Index: chrome/browser/extensions/extension_view_host.h
|
| diff --git a/chrome/browser/extensions/extension_view_host.h b/chrome/browser/extensions/extension_view_host.h
|
| index aa92531cb74f6b157e74100bb0770c5f6dda4d8d..613aa7cffd4ec4e099c73e7862e67b64caf797e4 100644
|
| --- a/chrome/browser/extensions/extension_view_host.h
|
| +++ b/chrome/browser/extensions/extension_view_host.h
|
| @@ -7,6 +7,8 @@
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/extensions/extension_host.h"
|
| +#include "components/web_modal/web_contents_modal_dialog_host.h"
|
| +#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h"
|
|
|
| #if defined(TOOLKIT_VIEWS)
|
| #include "chrome/browser/ui/views/extensions/extension_view_views.h"
|
| @@ -30,7 +32,10 @@ namespace extensions {
|
| // The ExtensionHost for an extension that backs a view in the browser UI. For
|
| // example, this could be an extension popup, infobar or dialog, but not a
|
| // background page.
|
| -class ExtensionViewHost : public ExtensionHost {
|
| +class ExtensionViewHost
|
| + : public ExtensionHost,
|
| + public web_modal::WebContentsModalDialogManagerDelegate,
|
| + public web_modal::WebContentsModalDialogHost {
|
| public:
|
| ExtensionViewHost(const Extension* extension,
|
| content::SiteInstance* site_instance,
|
| @@ -70,6 +75,7 @@ class ExtensionViewHost : public ExtensionHost {
|
| // ExtensionHost
|
| virtual void OnDidStopLoading() OVERRIDE;
|
| virtual void OnDocumentAvailable() OVERRIDE;
|
| + virtual void LoadInitialURL() OVERRIDE;
|
| virtual bool IsBackgroundPage() const OVERRIDE;
|
|
|
| // content::WebContentsDelegate
|
| @@ -90,16 +96,31 @@ class ExtensionViewHost : public ExtensionHost {
|
| virtual void RenderViewCreated(
|
| content::RenderViewHost* render_view_host) OVERRIDE;
|
|
|
| -#if !defined(OS_ANDROID)
|
| + // web_modal::WebContentsModalDialogManagerDelegate
|
| + virtual web_modal::WebContentsModalDialogHost*
|
| + GetWebContentsModalDialogHost() OVERRIDE;
|
| + virtual bool IsWebContentsVisible(
|
| + content::WebContents* web_contents) OVERRIDE;
|
| +
|
| // web_modal::WebContentsModalDialogHost
|
| virtual gfx::NativeView GetHostView() const OVERRIDE;
|
| -#endif
|
| + virtual gfx::Point GetDialogPosition(const gfx::Size& size) OVERRIDE;
|
| + virtual gfx::Size GetMaximumDialogSize() OVERRIDE;
|
| + virtual void AddObserver(
|
| + web_modal::ModalDialogHostObserver* observer) OVERRIDE;
|
| + virtual void RemoveObserver(
|
| + web_modal::ModalDialogHostObserver* observer) OVERRIDE;
|
|
|
| // ExtensionFunctionDispatcher::Delegate
|
| virtual WindowController* GetExtensionWindowController() const OVERRIDE;
|
| virtual content::WebContents* GetAssociatedWebContents() const OVERRIDE;
|
| virtual content::WebContents* GetVisibleWebContents() const OVERRIDE;
|
|
|
| + // content::NotificationObserver
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
| +
|
| private:
|
| // Insert a default style sheet for Extension Infobars.
|
| void InsertInfobarCSS();
|
|
|