Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: trunk/src/chrome/browser/translate/translate_infobar_delegate.cc

Issue 102163002: Revert 238283 "Infobar system refactor." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: trunk/src/chrome/browser/translate/translate_infobar_delegate.cc
===================================================================
--- trunk/src/chrome/browser/translate/translate_infobar_delegate.cc (revision 238401)
+++ trunk/src/chrome/browser/translate/translate_infobar_delegate.cc (working copy)
@@ -10,7 +10,6 @@
#include "base/metrics/histogram.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/infobars/infobar.h"
#include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/translate/translate_accept_languages.h"
@@ -59,18 +58,16 @@
if ((infobar_type == TranslateInfoBarDelegate::AFTER_TRANSLATE) ||
(infobar_type == TranslateInfoBarDelegate::TRANSLATING)) {
TranslateTabHelper* translate_tab_helper =
- TranslateTabHelper::FromWebContents(infobar_service->web_contents());
+ TranslateTabHelper::FromWebContents(infobar_service->web_contents());
if (!translate_tab_helper ||
- translate_tab_helper->language_state().InTranslateNavigation())
+ translate_tab_helper->language_state().InTranslateNavigation())
return;
}
// Find any existing translate infobar delegate.
- InfoBar* old_infobar = NULL;
TranslateInfoBarDelegate* old_delegate = NULL;
for (size_t i = 0; i < infobar_service->infobar_count(); ++i) {
- old_infobar = infobar_service->infobar_at(i);
- old_delegate = old_infobar->delegate()->AsTranslateInfoBarDelegate();
+ old_delegate = infobar_service->infobar_at(i)->AsTranslateInfoBarDelegate();
if (old_delegate) {
if (!replace_existing_infobar)
return;
@@ -79,12 +76,12 @@
}
// Add the new delegate.
- scoped_ptr<InfoBar> infobar(CreateInfoBar(
- scoped_ptr<TranslateInfoBarDelegate>(new TranslateInfoBarDelegate(
- infobar_type, old_delegate, original_language, target_language,
- error_type, prefs, shortcut_config))));
+ scoped_ptr<InfoBarDelegate> infobar(
+ new TranslateInfoBarDelegate(infobar_service, infobar_type, old_delegate,
+ original_language, target_language,
+ error_type, prefs, shortcut_config));
if (old_delegate)
- infobar_service->ReplaceInfoBar(old_infobar, infobar.Pass());
+ infobar_service->ReplaceInfoBar(old_delegate, infobar.Pass());
else
infobar_service->AddInfoBar(infobar.Pass());
}
@@ -128,7 +125,7 @@
TranslateManager::GetInstance()->RevertTranslation(web_contents());
UMA_HISTOGRAM_BOOLEAN(TranslateBrowserMetrics::GetMetricsName(
TranslateBrowserMetrics::UMA_REVERT_TRANSLATION), true);
- infobar()->RemoveSelf();
+ RemoveSelf();
}
void TranslateInfoBarDelegate::ReportLanguageDetectionError() {
@@ -171,7 +168,7 @@
TranslateTabHelper::FromWebContents(web_contents());
DCHECK(translate_tab_helper);
translate_tab_helper->language_state().SetTranslateEnabled(false);
- infobar()->RemoveSelf();
+ RemoveSelf();
}
UMA_HISTOGRAM_BOOLEAN(TranslateBrowserMetrics::GetMetricsName(
@@ -196,7 +193,7 @@
TranslateTabHelper::FromWebContents(web_contents());
DCHECK(translate_tab_helper);
translate_tab_helper->language_state().SetTranslateEnabled(false);
- infobar()->RemoveSelf();
+ RemoveSelf();
}
UMA_HISTOGRAM_BOOLEAN(TranslateBrowserMetrics::GetMetricsName(
@@ -240,7 +237,7 @@
UMA_HISTOGRAM_BOOLEAN(TranslateBrowserMetrics::GetMetricsName(
TranslateBrowserMetrics::UMA_NEVER_TRANSLATE_LANG), true);
- infobar()->RemoveSelf();
+ RemoveSelf();
}
string16 TranslateInfoBarDelegate::GetMessageInfoBarText() {
@@ -362,6 +359,7 @@
}
TranslateInfoBarDelegate::TranslateInfoBarDelegate(
+ InfoBarService* infobar_service,
Type infobar_type,
TranslateInfoBarDelegate* old_delegate,
const std::string& original_language,
@@ -369,7 +367,7 @@
TranslateErrors::Type error_type,
PrefService* prefs,
ShortcutConfiguration shortcut_config)
- : InfoBarDelegate(),
+ : InfoBarDelegate(infobar_service),
infobar_type_(infobar_type),
background_animation_(NONE),
original_language_index_(kNoIndex),
@@ -396,9 +394,6 @@
}
}
-// TranslateInfoBarDelegate::CreateInfoBar() is implemented in platform-specific
-// files.
-
void TranslateInfoBarDelegate::InfoBarDismissed() {
if (infobar_type_ != BEFORE_TRANSLATE)
return;

Powered by Google App Engine
This is Rietveld 408576698