diff options
Diffstat (limited to 'chrome/browser/extensions/extension_view.h')
-rwxr-xr-x | chrome/browser/extensions/extension_view.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_view.h b/chrome/browser/extensions/extension_view.h index 09c7788..7c11371 100755 --- a/chrome/browser/extensions/extension_view.h +++ b/chrome/browser/extensions/extension_view.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_EXTENSIONS_EXTENSION_VIEW_H_ #include "chrome/browser/renderer_host/render_view_host_delegate.h" +#include "chrome/browser/tab_contents/render_view_host_delegate_helper.h" // TODO(port): Port these files. #if defined(OS_WIN) @@ -14,7 +15,11 @@ #include "chrome/common/temp_scaffolding_stubs.h" #endif +class Browser; class Extension; +class RenderWidgetHost; +class RenderWidgetHostView; +class WebContents; struct WebPreferences; // This class is the browser component of an extension component's RenderView. @@ -22,9 +27,13 @@ struct WebPreferences; // priviliges available to extensions. The view may be drawn to the screen or // hidden. class ExtensionView : public HWNDHtmlView, - public RenderViewHostDelegate { + public RenderViewHostDelegate, + public RenderViewHostDelegate::View { public: - ExtensionView(Extension* extension, const GURL& url, SiteInstance* instance); + ExtensionView(Extension* extension, + const GURL& url, + SiteInstance* instance, + Browser* browser); // HWNDHtmlView virtual void CreatingRenderer(); @@ -46,12 +55,35 @@ class ExtensionView : public HWNDHtmlView, bool* did_suppress_message); virtual void DidStartLoading(RenderViewHost* render_view_host, int32 page_id); + virtual RenderViewHostDelegate::View* GetViewDelegate() const; + + // RenderViewHostDelegate::View + virtual void CreateNewWindow(int route_id, + base::WaitableEvent* modal_dialog_event); + virtual void CreateNewWidget(int route_id, bool activatable); + virtual void ShowCreatedWindow(int route_id, + WindowOpenDisposition disposition, + const gfx::Rect& initial_pos, + bool user_gesture); + virtual void ShowCreatedWidget(int route_id, + const gfx::Rect& initial_pos); + virtual void ShowContextMenu(const ContextMenuParams& params); + virtual void StartDragging(const WebDropData& drop_data); + virtual void UpdateDragCursor(bool is_drop_target); + virtual void TakeFocus(bool reverse); + virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event); Extension* extension() { return extension_; } private: // The extension that we're hosting in this view. Extension* extension_; + // The browser window that this view is in. + Browser* browser_; + + // Common implementations of some RenderViewHostDelegate::View methods. + RenderViewHostDelegateViewHelper delegate_view_helper_; + DISALLOW_COPY_AND_ASSIGN(ExtensionView); }; |