diff options
Diffstat (limited to 'chromium/components/feature_engagement/internal/once_condition_validator.cc')
-rw-r--r-- | chromium/components/feature_engagement/internal/once_condition_validator.cc | 10 |
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; } |