Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / extensions / extension_view_mac.h
index 5a81f5a..449b46f 100644 (file)
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_VIEW_MAC_H_
 
 #include "base/basictypes.h"
+#include "chrome/browser/extensions/extension_view.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/gfx/native_widget_types.h"
 #include "ui/gfx/size.h"
@@ -24,7 +25,7 @@ class ExtensionHost;
 // This class represents extension views. An extension view internally contains
 // a bridge to an extension process, which draws to the extension view's
 // native view object through IPC.
-class ExtensionViewMac {
+class ExtensionViewMac : public extensions::ExtensionView {
  public:
   class Container {
    public:
@@ -34,37 +35,6 @@ class ExtensionViewMac {
     virtual void OnExtensionViewDidShow(ExtensionViewMac* view) {};
   };
 
-  ExtensionViewMac(extensions::ExtensionHost* extension_host, Browser* browser);
-  ~ExtensionViewMac();
-
-  // Starts the extension process and creates the native view. You must call
-  // this method before calling any of this class's other methods.
-  void Init();
-
-  // Returns the extension's native view.
-  gfx::NativeView native_view();
-
-  // Returns the browser the extension belongs to.
-  Browser* browser() const { return browser_; }
-
-  // Method for the ExtensionHost to notify us that the extension page is
-  // loaded.
-  void DidStopLoading();
-
-  // Sets the container for this view.
-  void set_container(Container* container) { container_ = container; }
-
-  // Method for the ExtensionHost to notify us about the correct size for
-  // extension contents.
-  void ResizeDueToAutoResize(const gfx::Size& new_size);
-
-  // Method for the ExtensionHost to notify us when the RenderViewHost has a
-  // connection.
-  void RenderViewCreated();
-
-  // Informs the view that its containing window's frame changed.
-  void WindowFrameChanged();
-
   // The minimum/maximum dimensions of the popup.
   // The minimum is just a little larger than the size of the button itself.
   // The maximum is an arbitrary number that should be smaller than most
@@ -74,6 +44,26 @@ class ExtensionViewMac {
   static const CGFloat kMaxWidth;
   static const CGFloat kMaxHeight;
 
+  ExtensionViewMac(extensions::ExtensionHost* extension_host, Browser* browser);
+  virtual ~ExtensionViewMac();
+
+  // Sets the container for this view.
+  void set_container(Container* container) { container_ = container; }
+
+  // Informs the view that its containing window's frame changed.
+  void WindowFrameChanged();
+
+  // extensions::ExtensionView:
+  virtual void Init() OVERRIDE;
+  virtual Browser* GetBrowser() OVERRIDE;
+  virtual gfx::NativeView GetNativeView() OVERRIDE;
+  virtual void ResizeDueToAutoResize(const gfx::Size& new_size) OVERRIDE;
+  virtual void RenderViewCreated() OVERRIDE;
+  virtual void HandleKeyboardEvent(
+      content::WebContents* source,
+      const content::NativeWebKeyboardEvent& event) OVERRIDE;
+  virtual void DidStopLoading() OVERRIDE;
+
  private:
   content::RenderViewHost* render_view_host() const;