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

Unified Diff: components/translate/core/browser/translate_ui_delegate.cc

Issue 1923143003: Implement the 2016Q2 Translate UI designe spec out in (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test breakage Created 4 years, 8 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: components/translate/core/browser/translate_ui_delegate.cc
diff --git a/components/translate/core/browser/translate_ui_delegate.cc b/components/translate/core/browser/translate_ui_delegate.cc
index 5c6a862665f38487334fdb5717b6809e61c6dade..8ebde497758a3559e2d5d2172b744db5fa2d5399 100644
--- a/components/translate/core/browser/translate_ui_delegate.cc
+++ b/components/translate/core/browser/translate_ui_delegate.cc
@@ -205,6 +205,7 @@ std::string TranslateUIDelegate::GetTargetLanguageCode() const {
void TranslateUIDelegate::Translate() {
if (!translate_driver_->IsOffTheRecord()) {
prefs_->ResetTranslationDeniedCount(GetOriginalLanguageCode());
+ prefs_->ResetTranslationIgnoredCount(GetOriginalLanguageCode());
prefs_->IncrementTranslationAcceptedCount(GetOriginalLanguageCode());
}
@@ -223,11 +224,15 @@ void TranslateUIDelegate::RevertTranslation() {
}
void TranslateUIDelegate::TranslationDeclined(bool explicitly_closed) {
- if (explicitly_closed && !translate_driver_->IsOffTheRecord()) {
+ if (!translate_driver_->IsOffTheRecord()) {
const std::string& language = GetOriginalLanguageCode();
- prefs_->ResetTranslationAcceptedCount(language);
- prefs_->IncrementTranslationDeniedCount(language);
- prefs_->UpdateLastDeniedTime(language);
+ if (explicitly_closed) {
groby-ooo-7-16 2016/04/27 19:08:25 Can we get unit tests?
+ prefs_->ResetTranslationAcceptedCount(language);
+ prefs_->IncrementTranslationDeniedCount(language);
+ prefs_->UpdateLastDeniedTime(language);
+ } else {
+ prefs_->IncrementTranslationIgnoredCount(language);
+ }
}
// Remember that the user declined the translation so as to prevent showing a
@@ -249,11 +254,14 @@ bool TranslateUIDelegate::IsLanguageBlocked() {
return prefs_->IsBlockedLanguage(GetOriginalLanguageCode());
}
+
groby-ooo-7-16 2016/04/27 19:08:25 nit:Please remove
ftang 2016/04/27 21:43:16 Done.
void TranslateUIDelegate::SetLanguageBlocked(bool value) {
if (value) {
prefs_->BlockLanguage(GetOriginalLanguageCode());
- if (translate_manager_) {
- translate_manager_->GetLanguageState().SetTranslateEnabled(false);
+ if (!base::FeatureList::IsEnabled(kTranslateUI2016Q2)) {
+ if (translate_manager_) {
groby-ooo-7-16 2016/04/27 19:08:25 Why are we not resetting TranslateEnabled for the
ftang 2016/04/27 21:43:16 In the new ui, the omnibar icon is always shown, r
groby-ooo-7-16 2016/04/29 05:26:14 Ah, I understand - thanks for the explanation. Wou
+ translate_manager_->GetLanguageState().SetTranslateEnabled(false);
+ }
}
} else {
prefs_->UnblockLanguage(GetOriginalLanguageCode());
@@ -274,8 +282,10 @@ void TranslateUIDelegate::SetSiteBlacklist(bool value) {
if (value) {
prefs_->BlacklistSite(host);
- if (translate_manager_) {
- translate_manager_->GetLanguageState().SetTranslateEnabled(false);
+ if (!base::FeatureList::IsEnabled(kTranslateUI2016Q2)) {
+ if (translate_manager_) {
+ translate_manager_->GetLanguageState().SetTranslateEnabled(false);
+ }
}
} else {
prefs_->RemoveSiteFromBlacklist(host);
@@ -289,6 +299,17 @@ bool TranslateUIDelegate::ShouldAlwaysTranslate() {
GetTargetLanguageCode());
}
+bool TranslateUIDelegate::ShowAlwaysTranslateChecked() {
+ return ShouldAlwaysTranslate() ||
+ // After 2 clicks on Translate for the same language.
+ // it is == 2 not >2 because if the user translate with always on
+ // the next time the bubble won't show up. So the only chance the
+ // bubble will show up is if the user uncheck the Always translate,
+ // but in that case since user explictly uncheck, we should show
+ // as uncheck.
+ prefs_->GetTranslationAcceptedCount(GetOriginalLanguageCode()) == 3;
+}
+
void TranslateUIDelegate::SetAlwaysTranslate(bool value) {
const std::string& original_lang = GetOriginalLanguageCode();
const std::string& target_lang = GetTargetLanguageCode();

Powered by Google App Engine
This is Rietveld 408576698