Index: trunk/src/chrome/browser/ui/gtk/infobars/extension_infobar_gtk.h |
=================================================================== |
--- trunk/src/chrome/browser/ui/gtk/infobars/extension_infobar_gtk.h (revision 238401) |
+++ trunk/src/chrome/browser/ui/gtk/infobars/extension_infobar_gtk.h (working copy) |
@@ -16,24 +16,30 @@ |
class ExtensionViewGtk; |
class MenuGtk; |
-class ExtensionInfoBarGtk : public InfoBarGtk, public MenuGtk::Delegate { |
+class ExtensionInfoBarGtk : public InfoBarGtk, |
+ public MenuGtk::Delegate, |
+ public ExtensionInfoBarDelegate::DelegateObserver { |
public: |
- explicit ExtensionInfoBarGtk(scoped_ptr<ExtensionInfoBarDelegate> delegate); |
+ ExtensionInfoBarGtk(InfoBarService* owner, |
+ ExtensionInfoBarDelegate* delegate); |
private: |
virtual ~ExtensionInfoBarGtk(); |
// InfoBarGtk: |
- virtual void PlatformSpecificSetOwner() OVERRIDE; |
virtual void PlatformSpecificHide(bool animate) OVERRIDE; |
virtual void GetTopColor(InfoBarDelegate::Type type, |
double* r, double* g, double* b) OVERRIDE; |
virtual void GetBottomColor(InfoBarDelegate::Type type, |
double* r, double* g, double* b) OVERRIDE; |
+ virtual void InitWidgets() OVERRIDE; |
// MenuGtk::Delegate: |
virtual void StoppedShowing() OVERRIDE; |
+ // ExtensionInfoBarDelegate::DelegateObserver: |
+ virtual void OnDelegateDeleted() OVERRIDE; |
+ |
void OnImageLoaded(const gfx::Image& image); |
ExtensionInfoBarDelegate* GetDelegate(); |
@@ -55,6 +61,11 @@ |
CHROMEGTK_CALLBACK_1(ExtensionInfoBarGtk, gboolean, OnExpose, |
GdkEventExpose*); |
+ // TODO(pkasting): This shadows InfoBarView::delegate_. Get rid of this once |
+ // InfoBars own their delegates (and thus we don't need the DelegateObserver |
+ // functionality). For now, almost everyone should use GetDelegate() instead. |
+ InfoBarDelegate* delegate_; |
+ |
ExtensionViewGtk* view_; |
// The button that activates the extension popup menu. Non-NULL if the |