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

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

Issue 2920953002: Auto-always/never can at most triggered twice (new translate infobar) (Closed)
Patch Set: Created 3 years, 7 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_prefs.cc
diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc
index 0d13a31201d3445c6a28f7ee68e0d805ca9f0d20..e2858ed861a5be9ab83239c70f429a2b83edc7b6 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -45,6 +45,11 @@ const char kTranslateUI2016Q2TrialName[] = "TranslateUI2016Q2";
const char kAlwaysTranslateOfferThreshold[] =
"always_translate_offer_threshold";
+const char TranslatePrefs::kPrefTranslateAutoAlwaysCount[] =
+ "translate_auto_always_count";
+const char TranslatePrefs::kPrefTranslateAutoNeverCount[] =
+ "translate_auto_never_count";
+
// For reading ULP prefs.
const char kConfidence[] = "confidence";
const char kLanguage[] = "language";
@@ -188,6 +193,8 @@ void TranslatePrefs::ResetToDefaults() {
ResetTranslationAcceptedCount(language);
ResetTranslationDeniedCount(language);
ResetTranslationIgnoredCount(language);
+ ResetTranslationAutoAlwaysCount(language);
groby-ooo-7-16 2017/06/07 17:02:49 Note: You might want to clear out the entire pref.
Marti Wong 2017/06/09 03:28:26 Thanks. Done.
+ ResetTranslationAutoNeverCount(language);
}
prefs_->ClearPref(kPrefTranslateLastDeniedTimeForLanguage);
@@ -362,6 +369,52 @@ void TranslatePrefs::ResetTranslationAcceptedCount(
update.Get()->SetInteger(language, 0);
}
+int TranslatePrefs::GetTranslationAutoAlwaysCount(
+ const std::string& language) const {
+ const base::DictionaryValue* dict =
+ prefs_->GetDictionary(kPrefTranslateAutoAlwaysCount);
+ int count = 0;
+ return dict->GetInteger(language, &count) ? count : 0;
+}
+
+void TranslatePrefs::IncrementTranslationAutoAlwaysCount(
+ const std::string& language) {
+ DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
+ base::DictionaryValue* dict = update.Get();
+ int count = 0;
+ dict->GetInteger(language, &count);
+ dict->SetInteger(language, count + 1);
+}
+
+void TranslatePrefs::ResetTranslationAutoAlwaysCount(
+ const std::string& language) {
+ DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
+ update.Get()->SetInteger(language, 0);
+}
+
+int TranslatePrefs::GetTranslationAutoNeverCount(
+ const std::string& language) const {
+ const base::DictionaryValue* dict =
+ prefs_->GetDictionary(kPrefTranslateAutoNeverCount);
+ int count = 0;
+ return dict->GetInteger(language, &count) ? count : 0;
+}
+
+void TranslatePrefs::IncrementTranslationAutoNeverCount(
+ const std::string& language) {
+ DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
+ base::DictionaryValue* dict = update.Get();
+ int count = 0;
+ dict->GetInteger(language, &count);
+ dict->SetInteger(language, count + 1);
+}
+
+void TranslatePrefs::ResetTranslationAutoNeverCount(
+ const std::string& language) {
+ DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
+ update.Get()->SetInteger(language, 0);
+}
+
void TranslatePrefs::UpdateLastDeniedTime(const std::string& language) {
if (IsTooOftenDenied(language))
return;
@@ -496,6 +549,12 @@ void TranslatePrefs::RegisterProfilePrefs(
registry->RegisterDictionaryPref(
kPrefLanguageProfile,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
+ registry->RegisterDictionaryPref(
+ kPrefTranslateAutoAlwaysCount,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ registry->RegisterDictionaryPref(
+ kPrefTranslateAutoNeverCount,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
// static

Powered by Google App Engine
This is Rietveld 408576698