Index: components/variations/study_filtering.cc |
diff --git a/components/variations/study_filtering.cc b/components/variations/study_filtering.cc |
index 159b544f4e7d388e0fc3c49d251a82e8381af48a..510925132e1b1be266624727f4d7e9572862b89f 100644 |
--- a/components/variations/study_filtering.cc |
+++ b/components/variations/study_filtering.cc |
@@ -143,6 +143,16 @@ bool CheckStudyStartDate(const Study_Filter& filter, |
return true; |
} |
+bool CheckStudyEndDate(const Study_Filter& filter, |
+ const base::Time& date_time) { |
+ if (filter.has_end_date()) { |
+ const base::Time end_date = ConvertStudyDateToBaseTime(filter.end_date()); |
+ return end_date >= date_time; |
+ } |
+ |
+ return true; |
+} |
+ |
bool CheckStudyVersion(const Study_Filter& filter, |
const base::Version& version) { |
if (filter.has_min_version()) { |
@@ -225,6 +235,11 @@ bool ShouldAddStudy( |
return false; |
} |
+ if (!CheckStudyEndDate(study.filter(), reference_date)) { |
+ DVLOG(1) << "Filtered out study " << study.name() << " due to end date."; |
+ return false; |
+ } |
+ |
if (!CheckStudyHardwareClass(study.filter(), hardware_class)) { |
DVLOG(1) << "Filtered out study " << study.name() << |
" due to hardware_class."; |