Index: chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm |
=================================================================== |
--- chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm (revision 226624) |
+++ chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm (working copy) |
@@ -27,11 +27,13 @@ |
using InfoBarUtilities::CreateLabel; |
using InfoBarUtilities::AddMenuItem; |
-// TranslateInfoBarDelegate views specific method: |
-InfoBar* TranslateInfoBarDelegate::CreateInfoBar(InfoBarService* owner) { |
- scoped_ptr<InfoBarCocoa> infobar(new InfoBarCocoa(owner, this)); |
+// static |
+scoped_ptr<InfoBar> TranslateInfoBarDelegate::CreateInfoBar( |
+ scoped_ptr<TranslateInfoBarDelegate> delegate) { |
+ scoped_ptr<InfoBarCocoa> infobar( |
+ new InfoBarCocoa(delegate.PassAs<InfoBarDelegate>())); |
base::scoped_nsobject<TranslateInfoBarControllerBase> infobar_controller; |
- switch (infobar_type_) { |
+ switch (infobar->delegate()->AsTranslateInfoBarDelegate()->infobar_type()) { |
case BEFORE_TRANSLATE: |
infobar_controller.reset([[BeforeTranslateInfobarController alloc] |
initWithInfoBar:infobar.get()]); |
@@ -49,7 +51,7 @@ |
NOTREACHED(); |
} |
infobar->set_controller(infobar_controller); |
- return infobar.release(); |
+ return infobar.PassAs<InfoBar>(); |
} |
@implementation TranslateInfoBarControllerBase (FrameChangeObserver) |