Index: base/metrics/histogram_snapshot_manager.h |
diff --git a/base/metrics/histogram_snapshot_manager.h b/base/metrics/histogram_snapshot_manager.h |
index bad4668067b04f3fb3d17474e52b35bf3967aa90..d1ba2a5002a88273c7e88b449f0f7f4a1be07cd3 100644 |
--- a/base/metrics/histogram_snapshot_manager.h |
+++ b/base/metrics/histogram_snapshot_manager.h |
@@ -36,8 +36,17 @@ class BASE_EXPORT HistogramSnapshotManager { |
// Only histograms that have all the flags specified by the argument will be |
// chosen. If all histograms should be recorded, set it to |
// |Histogram::kNoFlags|. |
- void PrepareDeltas(HistogramBase::Flags flags_to_set, |
- HistogramBase::Flags required_flags); |
+ template <class ForwardHistogramIterator> |
+ void PrepareDeltas(ForwardHistogramIterator begin, |
+ ForwardHistogramIterator end, |
+ HistogramBase::Flags flags_to_set, |
+ HistogramBase::Flags required_flags) { |
+ for (ForwardHistogramIterator it = begin; it != end; ++it) { |
+ (*it)->SetFlags(flags_to_set); |
+ if (((*it)->flags() & required_flags) == required_flags) |
+ PrepareDelta(**it); |
+ } |
+ } |
private: |
// Snapshot this histogram, and record the delta. |