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

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

Issue 345743002: Translate: Hide the bubble if the user denies translating 2 times within 24 hours (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed prefs names Created 6 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
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 bb8dd743df12bf18f9e4eae9e67cd9c5f73dc54c..3e78d5c8a4c8e89568ed76276415470477880f49 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -27,6 +27,10 @@ const char TranslatePrefs::kPrefTranslateAcceptedCount[] =
"translate_accepted_count";
const char TranslatePrefs::kPrefTranslateBlockedLanguages[] =
"translate_blocked_languages";
+const char TranslatePrefs::kPrefTranslateLastDeniedTime[] =
+ "translate_last_denied_time";
+const char TranslatePrefs::kPrefTranslateTooOftenDenied[] =
+ "translate_too_often_denied";
namespace {
@@ -103,6 +107,9 @@ void TranslatePrefs::ResetToDefaults() {
ResetTranslationAcceptedCount(language);
ResetTranslationDeniedCount(language);
}
+
+ prefs_->ClearPref(kPrefTranslateLastDeniedTime);
+ prefs_->ClearPref(kPrefTranslateTooOftenDenied);
}
bool TranslatePrefs::IsBlockedLanguage(
@@ -255,6 +262,22 @@ void TranslatePrefs::ResetTranslationAcceptedCount(
update.Get()->SetInteger(language, 0);
}
+void TranslatePrefs::UpdateLastDeniedTime() {
+ if (IsTooOftenDenied())
+ return;
+
+ double time = prefs_->GetDouble(kPrefTranslateLastDeniedTime);
+ base::Time last_closed_time = base::Time::FromJsTime(time);
+ base::Time now = base::Time::Now();
+ prefs_->SetDouble(kPrefTranslateLastDeniedTime, now.ToJsTime());
+ if (now - last_closed_time <= base::TimeDelta::FromDays(1))
+ prefs_->SetBoolean(kPrefTranslateTooOftenDenied, true);
+}
+
+bool TranslatePrefs::IsTooOftenDenied() const {
+ return prefs_->GetBoolean(kPrefTranslateTooOftenDenied);
+}
+
void TranslatePrefs::GetLanguageList(std::vector<std::string>* languages) {
DCHECK(languages);
DCHECK(languages->empty());
@@ -335,6 +358,12 @@ void TranslatePrefs::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(kPrefTranslateBlockedLanguages,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ registry->RegisterDoublePref(
+ kPrefTranslateLastDeniedTime, 0,
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterBooleanPref(
+ kPrefTranslateTooOftenDenied, false,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
// static
« no previous file with comments | « components/translate/core/browser/translate_prefs.h ('k') | components/translate/core/browser/translate_ui_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698