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

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

Issue 6249010: Cleanup: de-inline a bunch of classes, rename and move "PluginInstaller" to "... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months 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: chrome/browser/translate/translate_infobar_delegate.cc
===================================================================
--- chrome/browser/translate/translate_infobar_delegate.cc (revision 72158)
+++ chrome/browser/translate/translate_infobar_delegate.cc (working copy)
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -24,7 +24,7 @@
TabContents* tab_contents,
const std::string& original_language,
const std::string& target_language) {
- DCHECK(type != TRANSLATION_ERROR);
+ DCHECK_NE(TRANSLATION_ERROR, type);
// The original language can only be "unknown" for the "translating"
// infobar, which is the case when the user started a translation from the
// context menu.
@@ -32,14 +32,12 @@
original_language != chrome::kUnknownLanguageCode);
if ((original_language != chrome::kUnknownLanguageCode &&
!TranslateManager::IsSupportedLanguage(original_language)) ||
- !TranslateManager::IsSupportedLanguage(target_language)) {
+ !TranslateManager::IsSupportedLanguage(target_language))
return NULL;
- }
TranslateInfoBarDelegate* delegate =
- new TranslateInfoBarDelegate(type, TranslateErrors::NONE,
- tab_contents,
+ new TranslateInfoBarDelegate(type, TranslateErrors::NONE, tab_contents,
original_language, target_language);
- DCHECK(delegate->target_language_index() != -1);
+ DCHECK_NE(-1, delegate->target_language_index());
return delegate;
}
@@ -52,76 +50,24 @@
original_language, target_language);
}
-TranslateInfoBarDelegate::TranslateInfoBarDelegate(
- Type type,
- TranslateErrors::Type error,
- TabContents* tab_contents,
- const std::string& original_language,
- const std::string& target_language)
- : InfoBarDelegate(tab_contents),
- type_(type),
- background_animation_(NONE),
- tab_contents_(tab_contents),
- original_language_index_(-1),
- initial_original_language_index_(-1),
- target_language_index_(-1),
- error_(error),
- infobar_view_(NULL),
- prefs_(tab_contents_->profile()->GetPrefs()) {
- DCHECK((type_ != TRANSLATION_ERROR && error == TranslateErrors::NONE) ||
- (type_ == TRANSLATION_ERROR && error != TranslateErrors::NONE));
-
- std::vector<std::string> language_codes;
- TranslateManager::GetSupportedLanguages(&language_codes);
-
- languages_.reserve(language_codes.size());
- for (std::vector<std::string>::const_iterator iter = language_codes.begin();
- iter != language_codes.end(); ++iter) {
- std::string language_code = *iter;
-
- string16 language_name = GetLanguageDisplayableName(language_code);
- // Insert the language in languages_ in alphabetical order.
- std::vector<LanguageNamePair>::iterator iter2;
- for (iter2 = languages_.begin(); iter2 != languages_.end(); ++iter2) {
- if (language_name.compare(iter2->second) < 0)
- break;
- }
- languages_.insert(iter2, LanguageNamePair(language_code, language_name));
- }
- for (std::vector<LanguageNamePair>::const_iterator iter = languages_.begin();
- iter != languages_.end(); ++iter) {
- std::string language_code = iter->first;
- if (language_code == original_language) {
- original_language_index_ = iter - languages_.begin();
- initial_original_language_index_ = original_language_index_;
- }
- if (language_code == target_language)
- target_language_index_ = iter - languages_.begin();
- }
+TranslateInfoBarDelegate::~TranslateInfoBarDelegate() {
}
-TranslateInfoBarDelegate::~TranslateInfoBarDelegate() {}
-
-int TranslateInfoBarDelegate::GetLanguageCount() const {
- return static_cast<int>(languages_.size());
-}
-
-std::string TranslateInfoBarDelegate::GetLanguageCodeAt(
- int index) const {
- DCHECK(index >=0 && index < GetLanguageCount());
+std::string TranslateInfoBarDelegate::GetLanguageCodeAt(int index) const {
+ DCHECK(index >= 0 && index < GetLanguageCount());
return languages_[index].first;
}
string16 TranslateInfoBarDelegate::GetLanguageDisplayableNameAt(
int index) const {
- DCHECK(index >=0 && index < GetLanguageCount());
+ DCHECK(index >= 0 && index < GetLanguageCount());
return languages_[index].second;
}
std::string TranslateInfoBarDelegate::GetOriginalLanguageCode() const {
- if (original_language_index() == -1)
- return chrome::kUnknownLanguageCode;
- return GetLanguageCodeAt(original_language_index());
+ return (original_language_index() == -1) ?
+ chrome::kUnknownLanguageCode :
+ GetLanguageCodeAt(original_language_index());
}
std::string TranslateInfoBarDelegate::GetTargetLanguageCode() const {
@@ -129,7 +75,7 @@
}
void TranslateInfoBarDelegate::SetOriginalLanguage(int language_index) {
- DCHECK(language_index < static_cast<int>(languages_.size()));
+ DCHECK_LT(language_index, GetLanguageCount());
original_language_index_ = language_index;
if (infobar_view_)
infobar_view_->OriginalLanguageChanged();
@@ -138,7 +84,7 @@
}
void TranslateInfoBarDelegate::SetTargetLanguage(int language_index) {
- DCHECK(language_index < static_cast<int>(languages_.size()));
+ DCHECK_LT(language_index, GetLanguageCount());
target_language_index_ = language_index;
if (infobar_view_)
infobar_view_->TargetLanguageChanged();
@@ -146,10 +92,6 @@
Translate();
}
-bool TranslateInfoBarDelegate::IsError() {
- return type_ == TRANSLATION_ERROR;
-}
-
void TranslateInfoBarDelegate::Translate() {
const std::string& original_language_code = GetOriginalLanguageCode();
if (!tab_contents()->profile()->IsOffTheRecord()) {
@@ -157,8 +99,7 @@
prefs_.IncrementTranslationAcceptedCount(original_language_code);
}
- TranslateManager::GetInstance()->TranslatePage(
- tab_contents_,
+ TranslateManager::GetInstance()->TranslatePage(tab_contents_,
GetLanguageCodeAt(original_language_index()),
GetLanguageCodeAt(target_language_index()));
}
@@ -169,8 +110,7 @@
}
void TranslateInfoBarDelegate::ReportLanguageDetectionError() {
- TranslateManager::GetInstance()->
- ReportLanguageDetectionError(tab_contents_);
+ TranslateManager::GetInstance()->ReportLanguageDetectionError(tab_contents_);
}
void TranslateInfoBarDelegate::TranslationDeclined() {
@@ -188,34 +128,6 @@
tab_contents_->language_state().set_translation_declined(true);
}
-void TranslateInfoBarDelegate::InfoBarDismissed() {
- if (type_ != BEFORE_TRANSLATE)
- return;
-
- // The user closed the infobar without clicking the translate button.
- TranslationDeclined();
- UMA_HISTOGRAM_COUNTS("Translate.DeclineTranslateCloseInfobar", 1);
-}
-
-void TranslateInfoBarDelegate::InfoBarClosed() {
- delete this;
-}
-
-SkBitmap* TranslateInfoBarDelegate::GetIcon() const {
- return ResourceBundle::GetSharedInstance().GetBitmapNamed(
- IDR_INFOBAR_TRANSLATE);
-}
-
-InfoBarDelegate::Type TranslateInfoBarDelegate::GetInfoBarType() {
- return InfoBarDelegate::PAGE_ACTION_TYPE;
-}
-
-TranslateInfoBarDelegate*
-TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() {
- return this;
-}
-
-
bool TranslateInfoBarDelegate::IsLanguageBlacklisted() {
return prefs_.IsLanguageBlacklisted(GetOriginalLanguageCode());
}
@@ -278,35 +190,31 @@
}
string16 TranslateInfoBarDelegate::GetMessageInfoBarText() {
- switch (type_) {
- case TRANSLATING:
+ if (type_ == TRANSLATING) {
+ return l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_TRANSLATING_TO,
+ GetLanguageDisplayableNameAt(target_language_index_));
+ }
+
+ DCHECK_EQ(TRANSLATION_ERROR, type_);
+ switch (error_) {
+ case TranslateErrors::NETWORK:
+ return l10n_util::GetStringUTF16(
+ IDS_TRANSLATE_INFOBAR_ERROR_CANT_CONNECT);
+ case TranslateErrors::INITIALIZATION_ERROR:
+ case TranslateErrors::TRANSLATION_ERROR:
+ return l10n_util::GetStringUTF16(
+ IDS_TRANSLATE_INFOBAR_ERROR_CANT_TRANSLATE);
+ case TranslateErrors::UNKNOWN_LANGUAGE:
+ return l10n_util::GetStringUTF16(
+ IDS_TRANSLATE_INFOBAR_UNKNOWN_PAGE_LANGUAGE);
+ case TranslateErrors::UNSUPPORTED_LANGUAGE:
return l10n_util::GetStringFUTF16(
- IDS_TRANSLATE_INFOBAR_TRANSLATING_TO,
+ IDS_TRANSLATE_INFOBAR_UNSUPPORTED_PAGE_LANGUAGE,
GetLanguageDisplayableNameAt(target_language_index_));
- case TRANSLATION_ERROR:
- switch (error_) {
- case TranslateErrors::NETWORK:
- return l10n_util::GetStringUTF16(
- IDS_TRANSLATE_INFOBAR_ERROR_CANT_CONNECT);
- case TranslateErrors::INITIALIZATION_ERROR:
- case TranslateErrors::TRANSLATION_ERROR:
- return l10n_util::GetStringUTF16(
- IDS_TRANSLATE_INFOBAR_ERROR_CANT_TRANSLATE);
- case TranslateErrors::UNKNOWN_LANGUAGE:
- return l10n_util::GetStringUTF16(
- IDS_TRANSLATE_INFOBAR_UNKNOWN_PAGE_LANGUAGE);
- case TranslateErrors::UNSUPPORTED_LANGUAGE:
- return l10n_util::GetStringFUTF16(
- IDS_TRANSLATE_INFOBAR_UNSUPPORTED_PAGE_LANGUAGE,
- GetLanguageDisplayableNameAt(target_language_index_));
- case TranslateErrors::IDENTICAL_LANGUAGES:
- return l10n_util::GetStringFUTF16(
- IDS_TRANSLATE_INFOBAR_ERROR_SAME_LANGUAGE,
- GetLanguageDisplayableNameAt(target_language_index_));
- default:
- NOTREACHED();
- return string16();
- }
+ case TranslateErrors::IDENTICAL_LANGUAGES:
+ return l10n_util::GetStringFUTF16(
+ IDS_TRANSLATE_INFOBAR_ERROR_SAME_LANGUAGE,
+ GetLanguageDisplayableNameAt(target_language_index_));
default:
NOTREACHED();
return string16();
@@ -314,33 +222,26 @@
}
string16 TranslateInfoBarDelegate::GetMessageInfoBarButtonText() {
- switch (type_) {
- case TRANSLATING:
- return string16();
- case TRANSLATION_ERROR:
- if (error_ == TranslateErrors::IDENTICAL_LANGUAGES ||
- error_ == TranslateErrors::UNKNOWN_LANGUAGE) {
- // No retry button, we would fail again with the same error.
- return string16();
- }
- if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE)
- return l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_REVERT);
- return l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_RETRY);
- default:
- NOTREACHED();
- return string16();
+ if (type_ != TRANSLATION_ERROR) {
+ DCHECK_EQ(TRANSLATING, type_);
+ } else if ((error_ != TranslateErrors::IDENTICAL_LANGUAGES) &&
+ (error_ != TranslateErrors::UNKNOWN_LANGUAGE)) {
+ return l10n_util::GetStringUTF16(
+ (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE) ?
+ IDS_TRANSLATE_INFOBAR_REVERT : IDS_TRANSLATE_INFOBAR_RETRY);
}
+ return string16();
}
void TranslateInfoBarDelegate::MessageInfoBarButtonPressed() {
- DCHECK(type_ == TRANSLATION_ERROR);
+ DCHECK_EQ(TRANSLATION_ERROR, type_);
if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE) {
RevertTranslation();
return;
}
// This is the "Try again..." case.
- TranslateManager::GetInstance()->TranslatePage(
- tab_contents_, GetOriginalLanguageCode(), GetTargetLanguageCode());
+ TranslateManager::GetInstance()->TranslatePage(tab_contents_,
+ GetOriginalLanguageCode(), GetTargetLanguageCode());
}
bool TranslateInfoBarDelegate::ShouldShowMessageInfoBarButton() {
@@ -348,33 +249,25 @@
}
bool TranslateInfoBarDelegate::ShouldShowNeverTranslateButton() {
- DCHECK(type_ == BEFORE_TRANSLATE);
- if (tab_contents()->profile()->IsOffTheRecord())
- return false;
- return prefs_.GetTranslationDeniedCount(GetOriginalLanguageCode()) >= 3;
+ DCHECK_EQ(BEFORE_TRANSLATE, type_);
+ return !tab_contents()->profile()->IsOffTheRecord() &&
+ (prefs_.GetTranslationDeniedCount(GetOriginalLanguageCode()) >= 3);
}
bool TranslateInfoBarDelegate::ShouldShowAlwaysTranslateButton() {
- DCHECK(type_ == BEFORE_TRANSLATE);
- if (tab_contents()->profile()->IsOffTheRecord())
- return false;
- return prefs_.GetTranslationAcceptedCount(GetOriginalLanguageCode()) >= 3;
+ DCHECK_EQ(BEFORE_TRANSLATE, type_);
+ return !tab_contents()->profile()->IsOffTheRecord() &&
+ (prefs_.GetTranslationAcceptedCount(GetOriginalLanguageCode()) >= 3);
}
void TranslateInfoBarDelegate::UpdateBackgroundAnimation(
TranslateInfoBarDelegate* previous_infobar) {
- if (!previous_infobar || previous_infobar->IsError() == IsError()) {
+ if (!previous_infobar || previous_infobar->IsError() == IsError())
background_animation_ = NONE;
- return;
- }
- background_animation_ = IsError() ? NORMAL_TO_ERROR: ERROR_TO_NORMAL;
+ else
+ background_animation_ = IsError() ? NORMAL_TO_ERROR : ERROR_TO_NORMAL;
}
-std::string TranslateInfoBarDelegate::GetPageHost() {
- NavigationEntry* entry = tab_contents_->controller().GetActiveEntry();
- return entry ? entry->url().HostNoBrackets() : std::string();
-}
-
// static
string16 TranslateInfoBarDelegate::GetLanguageDisplayableName(
const std::string& language_code) {
@@ -392,17 +285,92 @@
string16 text =
l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_AFTER_MESSAGE,
string16(), string16(), &offsets);
- DCHECK(offsets.size() == 2U);
+ DCHECK_EQ(2U, offsets.size());
- if (offsets[0] > offsets[1]) {
- // Target language comes before source.
+ *swap_languages = (offsets[0] > offsets[1]);
+ if (*swap_languages)
std::swap(offsets[0], offsets[1]);
- *swap_languages = true;
- } else {
- *swap_languages = false;
- }
strings->push_back(text.substr(0, offsets[0]));
strings->push_back(text.substr(offsets[0], offsets[1] - offsets[0]));
strings->push_back(text.substr(offsets[1]));
}
+
+TranslateInfoBarDelegate::TranslateInfoBarDelegate(
+ Type type,
+ TranslateErrors::Type error,
+ TabContents* tab_contents,
+ const std::string& original_language,
+ const std::string& target_language)
+ : InfoBarDelegate(tab_contents),
+ type_(type),
+ background_animation_(NONE),
+ tab_contents_(tab_contents),
+ original_language_index_(-1),
+ initial_original_language_index_(-1),
+ target_language_index_(-1),
+ error_(error),
+ infobar_view_(NULL),
+ prefs_(tab_contents_->profile()->GetPrefs()) {
+ DCHECK_NE((type_ == TRANSLATION_ERROR), (error == TranslateErrors::NONE));
+
+ std::vector<std::string> language_codes;
+ TranslateManager::GetSupportedLanguages(&language_codes);
+
+ languages_.reserve(language_codes.size());
+ for (std::vector<std::string>::const_iterator iter = language_codes.begin();
+ iter != language_codes.end(); ++iter) {
+ std::string language_code = *iter;
+
+ string16 language_name = GetLanguageDisplayableName(language_code);
+ // Insert the language in languages_ in alphabetical order.
+ std::vector<LanguageNamePair>::iterator iter2;
+ for (iter2 = languages_.begin(); iter2 != languages_.end(); ++iter2) {
+ if (language_name.compare(iter2->second) < 0)
+ break;
+ }
+ languages_.insert(iter2, LanguageNamePair(language_code, language_name));
+ }
+ for (std::vector<LanguageNamePair>::const_iterator iter = languages_.begin();
+ iter != languages_.end(); ++iter) {
+ std::string language_code = iter->first;
+ if (language_code == original_language) {
+ original_language_index_ = iter - languages_.begin();
+ initial_original_language_index_ = original_language_index_;
+ }
+ if (language_code == target_language)
+ target_language_index_ = iter - languages_.begin();
+ }
+}
+
+void TranslateInfoBarDelegate::InfoBarDismissed() {
+ if (type_ != BEFORE_TRANSLATE)
+ return;
+
+ // The user closed the infobar without clicking the translate button.
+ TranslationDeclined();
+ UMA_HISTOGRAM_COUNTS("Translate.DeclineTranslateCloseInfobar", 1);
+}
+
+void TranslateInfoBarDelegate::InfoBarClosed() {
+ delete this;
+}
+
+SkBitmap* TranslateInfoBarDelegate::GetIcon() const {
+ return ResourceBundle::GetSharedInstance().GetBitmapNamed(
+ IDR_INFOBAR_TRANSLATE);
+}
+
+InfoBarDelegate::Type TranslateInfoBarDelegate::GetInfoBarType() const {
+ return InfoBarDelegate::PAGE_ACTION_TYPE;
+}
+
+TranslateInfoBarDelegate*
+ TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() {
+ return this;
+}
+
+std::string TranslateInfoBarDelegate::GetPageHost() {
+ NavigationEntry* entry = tab_contents_->controller().GetActiveEntry();
+ return entry ? entry->url().HostNoBrackets() : std::string();
+}
« no previous file with comments | « chrome/browser/translate/translate_infobar_delegate.h ('k') | chrome/browser/translate/translate_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698