| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/variations/study_filtering.h" | 5 #include "components/variations/study_filtering.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 const base::Time& date_time) { | 136 const base::Time& date_time) { |
| 137 if (filter.has_start_date()) { | 137 if (filter.has_start_date()) { |
| 138 const base::Time start_date = | 138 const base::Time start_date = |
| 139 ConvertStudyDateToBaseTime(filter.start_date()); | 139 ConvertStudyDateToBaseTime(filter.start_date()); |
| 140 return date_time >= start_date; | 140 return date_time >= start_date; |
| 141 } | 141 } |
| 142 | 142 |
| 143 return true; | 143 return true; |
| 144 } | 144 } |
| 145 | 145 |
| 146 bool CheckStudyEndDate(const Study_Filter& filter, | |
| 147 const base::Time& date_time) { | |
| 148 if (filter.has_end_date()) { | |
| 149 const base::Time end_date = ConvertStudyDateToBaseTime(filter.end_date()); | |
| 150 return end_date >= date_time; | |
| 151 } | |
| 152 | |
| 153 return true; | |
| 154 } | |
| 155 | |
| 156 bool CheckStudyVersion(const Study_Filter& filter, | 146 bool CheckStudyVersion(const Study_Filter& filter, |
| 157 const base::Version& version) { | 147 const base::Version& version) { |
| 158 if (filter.has_min_version()) { | 148 if (filter.has_min_version()) { |
| 159 if (version.CompareToWildcardString(filter.min_version()) < 0) | 149 if (version.CompareToWildcardString(filter.min_version()) < 0) |
| 160 return false; | 150 return false; |
| 161 } | 151 } |
| 162 | 152 |
| 163 if (filter.has_max_version()) { | 153 if (filter.has_max_version()) { |
| 164 if (version.CompareToWildcardString(filter.max_version()) > 0) | 154 if (version.CompareToWildcardString(filter.max_version()) > 0) |
| 165 return false; | 155 return false; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 DVLOG(1) << "Filtered out study " << study.name() << " due to version."; | 218 DVLOG(1) << "Filtered out study " << study.name() << " due to version."; |
| 229 return false; | 219 return false; |
| 230 } | 220 } |
| 231 | 221 |
| 232 if (!CheckStudyStartDate(study.filter(), reference_date)) { | 222 if (!CheckStudyStartDate(study.filter(), reference_date)) { |
| 233 DVLOG(1) << "Filtered out study " << study.name() << | 223 DVLOG(1) << "Filtered out study " << study.name() << |
| 234 " due to start date."; | 224 " due to start date."; |
| 235 return false; | 225 return false; |
| 236 } | 226 } |
| 237 | 227 |
| 238 if (!CheckStudyEndDate(study.filter(), reference_date)) { | |
| 239 DVLOG(1) << "Filtered out study " << study.name() << " due to end date."; | |
| 240 return false; | |
| 241 } | |
| 242 | |
| 243 if (!CheckStudyHardwareClass(study.filter(), hardware_class)) { | 228 if (!CheckStudyHardwareClass(study.filter(), hardware_class)) { |
| 244 DVLOG(1) << "Filtered out study " << study.name() << | 229 DVLOG(1) << "Filtered out study " << study.name() << |
| 245 " due to hardware_class."; | 230 " due to hardware_class."; |
| 246 return false; | 231 return false; |
| 247 } | 232 } |
| 248 | 233 |
| 249 if (!CheckStudyCountry(study.filter(), country)) { | 234 if (!CheckStudyCountry(study.filter(), country)) { |
| 250 DVLOG(1) << "Filtered out study " << study.name() << " due to country."; | 235 DVLOG(1) << "Filtered out study " << study.name() << " due to country."; |
| 251 return false; | 236 return false; |
| 252 } | 237 } |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 | 299 |
| 315 for (size_t i = 0; i < expired_studies.size(); ++i) { | 300 for (size_t i = 0; i < expired_studies.size(); ++i) { |
| 316 if (!base::ContainsKey(created_studies, expired_studies[i]->name())) { | 301 if (!base::ContainsKey(created_studies, expired_studies[i]->name())) { |
| 317 ProcessedStudy::ValidateAndAppendStudy(expired_studies[i], true, | 302 ProcessedStudy::ValidateAndAppendStudy(expired_studies[i], true, |
| 318 filtered_studies); | 303 filtered_studies); |
| 319 } | 304 } |
| 320 } | 305 } |
| 321 } | 306 } |
| 322 | 307 |
| 323 } // namespace variations | 308 } // namespace variations |
| OLD | NEW |