Index: chrome/browser/ui/views/infobars/after_translate_infobar.cc |
=================================================================== |
--- chrome/browser/ui/views/infobars/after_translate_infobar.cc (revision 226624) |
+++ chrome/browser/ui/views/infobars/after_translate_infobar.cc (working copy) |
@@ -5,7 +5,9 @@ |
#include "chrome/browser/ui/views/infobars/after_translate_infobar.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "chrome/browser/translate/options_menu_model.h" |
#include "chrome/browser/translate/translate_infobar_delegate.h" |
+#include "chrome/browser/ui/views/infobars/translate_language_menu_model.h" |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/views/controls/button/label_button.h" |
@@ -14,9 +16,8 @@ |
#include "ui/views/controls/menu/menu_item_view.h" |
AfterTranslateInfoBar::AfterTranslateInfoBar( |
- InfoBarService* owner, |
- TranslateInfoBarDelegate* delegate) |
- : TranslateInfoBarBase(owner, delegate), |
+ scoped_ptr<TranslateInfoBarDelegate> delegate) |
+ : TranslateInfoBarBase(delegate.Pass()), |
label_1_(NULL), |
label_2_(NULL), |
label_3_(NULL), |
@@ -24,10 +25,10 @@ |
target_language_menu_button_(NULL), |
revert_button_(NULL), |
options_menu_button_(NULL), |
- options_menu_model_(delegate), |
swapped_language_buttons_(false) { |
autodetermined_source_language_ = |
- delegate->original_language_index() == TranslateInfoBarDelegate::kNoIndex; |
+ GetDelegate()->original_language_index() == |
+ TranslateInfoBarDelegate::kNoIndex; |
} |
AfterTranslateInfoBar::~AfterTranslateInfoBar() { |
@@ -126,6 +127,7 @@ |
options_menu_button_ = CreateMenuButton( |
l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_OPTIONS), this); |
+ options_menu_model_.reset(new OptionsMenuModel(delegate)); |
AddChildView(options_menu_button_); |
// This must happen after adding all other children so InfoBarView can ensure |
@@ -177,7 +179,7 @@ |
views::MenuItemView::TOPLEFT); |
} else { |
DCHECK_EQ(options_menu_button_, source); |
- RunMenuAt(&options_menu_model_, options_menu_button_, |
+ RunMenuAt(options_menu_model_.get(), options_menu_button_, |
views::MenuItemView::TOPRIGHT); |
} |
} |