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

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: fix Created 3 years, 6 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
« no previous file with comments | « components/translate/core/browser/translate_prefs.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..ab49ae554f1649ab83b89a2766d118399f5b0689 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -45,6 +45,13 @@ const char kTranslateUI2016Q2TrialName[] = "TranslateUI2016Q2";
const char kAlwaysTranslateOfferThreshold[] =
"always_translate_offer_threshold";
+#if defined(OS_ANDROID)
+const char TranslatePrefs::kPrefTranslateAutoAlwaysCount[] =
+ "translate_auto_always_count";
+const char TranslatePrefs::kPrefTranslateAutoNeverCount[] =
+ "translate_auto_never_count";
+#endif
+
// For reading ULP prefs.
const char kConfidence[] = "confidence";
const char kLanguage[] = "language";
@@ -189,6 +196,10 @@ void TranslatePrefs::ResetToDefaults() {
ResetTranslationDeniedCount(language);
ResetTranslationIgnoredCount(language);
}
+#if defined(OS_ANDROID)
+ prefs_->ClearPref(kPrefTranslateAutoAlwaysCount);
+ prefs_->ClearPref(kPrefTranslateAutoNeverCount);
+#endif
prefs_->ClearPref(kPrefTranslateLastDeniedTimeForLanguage);
prefs_->ClearPref(kPrefTranslateTooOftenDeniedForLanguage);
@@ -362,6 +373,54 @@ void TranslatePrefs::ResetTranslationAcceptedCount(
update.Get()->SetInteger(language, 0);
}
+#if defined(OS_ANDROID)
+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);
+}
+#endif // defined(OS_ANDROID)
+
void TranslatePrefs::UpdateLastDeniedTime(const std::string& language) {
if (IsTooOftenDenied(language))
return;
@@ -496,6 +555,14 @@ void TranslatePrefs::RegisterProfilePrefs(
registry->RegisterDictionaryPref(
kPrefLanguageProfile,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
+#if defined(OS_ANDROID)
+ registry->RegisterDictionaryPref(
+ kPrefTranslateAutoAlwaysCount,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ registry->RegisterDictionaryPref(
+ kPrefTranslateAutoNeverCount,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+#endif
}
// static
« no previous file with comments | « components/translate/core/browser/translate_prefs.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698