summaryrefslogtreecommitdiff
path: root/chromium/components/feature_engagement/internal/once_condition_validator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/feature_engagement/internal/once_condition_validator.cc')
-rw-r--r--chromium/components/feature_engagement/internal/once_condition_validator.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/chromium/components/feature_engagement/internal/once_condition_validator.cc b/chromium/components/feature_engagement/internal/once_condition_validator.cc
index b12db874bd6..b1feb00312b 100644
--- a/chromium/components/feature_engagement/internal/once_condition_validator.cc
+++ b/chromium/components/feature_engagement/internal/once_condition_validator.cc
@@ -32,6 +32,16 @@ ConditionValidator::Result OnceConditionValidator::MeetsConditions(
result.session_rate_ok =
shown_features_.find(feature.name) == shown_features_.end();
+ result.snooze_expiration_ok =
+ !event_model.IsSnoozeDismissed(config.trigger.name) &&
+ (event_model.GetLastSnoozeTimestamp(config.trigger.name) <
+ base::Time::Now() - base::Days(config.snooze_params.snooze_interval));
+
+ result.should_show_snooze =
+ result.snooze_expiration_ok &&
+ event_model.GetSnoozeCount(config.trigger.name, config.trigger.window,
+ current_day) < config.snooze_params.max_limit;
+
return result;
}