summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_view.h')
-rwxr-xr-xchrome/browser/extensions/extension_view.h36
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);
};