Index: chrome/browser/ui/gtk/extension_view_gtk.h |
diff --git a/chrome/browser/ui/gtk/extension_view_gtk.h b/chrome/browser/ui/gtk/extension_view_gtk.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..998af35976c1997ca4cc89c184b058843cef19cf |
--- /dev/null |
+++ b/chrome/browser/ui/gtk/extension_view_gtk.h |
@@ -0,0 +1,70 @@ |
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_UI_GTK_EXTENSION_VIEW_GTK_H_ |
+#define CHROME_BROWSER_UI_GTK_EXTENSION_VIEW_GTK_H_ |
+#pragma once |
+ |
+#include "base/basictypes.h" |
+#include "gfx/native_widget_types.h" |
+#include "gfx/size.h" |
+#include "third_party/skia/include/core/SkBitmap.h" |
+ |
+class Browser; |
+class ExtensionHost; |
+class RenderViewHost; |
+class RenderWidgetHostViewGtk; |
+class SkBitmap; |
+ |
+class ExtensionViewGtk { |
+ public: |
+ ExtensionViewGtk(ExtensionHost* extension_host, Browser* browser); |
+ |
+ class Container { |
+ public: |
+ virtual ~Container() {} |
+ virtual void OnExtensionPreferredSizeChanged(ExtensionViewGtk* view, |
+ const gfx::Size& new_size) {} |
+ }; |
+ |
+ void Init(); |
+ |
+ gfx::NativeView native_view(); |
+ Browser* browser() const { return browser_; } |
+ |
+ void SetBackground(const SkBitmap& background); |
+ |
+ // Sets the container for this view. |
+ void SetContainer(Container* container) { container_ = container; } |
+ |
+ // Method for the ExtensionHost to notify us about the correct size for |
+ // extension contents. |
+ void UpdatePreferredSize(const gfx::Size& new_size); |
+ |
+ // Method for the ExtensionHost to notify us when the RenderViewHost has a |
+ // connection. |
+ void RenderViewCreated(); |
+ |
+ RenderViewHost* render_view_host() const; |
+ |
+ private: |
+ void CreateWidgetHostView(); |
+ |
+ Browser* browser_; |
+ |
+ ExtensionHost* extension_host_; |
+ |
+ RenderWidgetHostViewGtk* render_widget_host_view_; |
+ |
+ // The background the view should have once it is initialized. This is set |
+ // when the view has a custom background, but hasn't been initialized yet. |
+ SkBitmap pending_background_; |
+ |
+ // This view's container. |
+ Container* container_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ExtensionViewGtk); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_GTK_EXTENSION_VIEW_GTK_H_ |