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

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: 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..95ba6412e1ae9679718452cd7e6e9a47b6db7abb 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::kPrefTranslateBubbleLastClosedTime[] =
+ "translate_last_closed_time";
+const char TranslatePrefs::kPrefTranslateBubbleHidden[] =
+ "translate_bubble_hidden";
namespace {
@@ -103,6 +107,9 @@ void TranslatePrefs::ResetToDefaults() {
ResetTranslationAcceptedCount(language);
ResetTranslationDeniedCount(language);
}
+
+ prefs_->ClearPref(kPrefTranslateBubbleLastClosedTime);
+ prefs_->ClearPref(kPrefTranslateBubbleHidden);
}
bool TranslatePrefs::IsBlockedLanguage(
@@ -255,6 +262,22 @@ void TranslatePrefs::ResetTranslationAcceptedCount(
update.Get()->SetInteger(language, 0);
}
+void TranslatePrefs::UpdateBubbleLastClosedTime() {
+ if (IsBubbleHidden())
+ return;
+
+ double time = prefs_->GetDouble(kPrefTranslateBubbleLastClosedTime);
+ base::Time last_closed_time = base::Time::FromJsTime(time);
+ base::Time now = base::Time::Now();
+ prefs_->SetDouble(kPrefTranslateBubbleLastClosedTime, now.ToJsTime());
+ if (now - last_closed_time <= base::TimeDelta::FromDays(1))
+ prefs_->SetBoolean(kPrefTranslateBubbleHidden, true);
+}
+
+bool TranslatePrefs::IsBubbleHidden() const {
+ return prefs_->GetBoolean(kPrefTranslateBubbleHidden);
+}
+
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(
+ kPrefTranslateBubbleLastClosedTime, 0,
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterBooleanPref(
+ kPrefTranslateBubbleHidden, false,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
// static

Powered by Google App Engine
This is Rietveld 408576698