Chromium Code Reviews| 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 |