Chromium Code Reviews| Index: base/metrics/statistics_recorder.cc |
| diff --git a/base/metrics/statistics_recorder.cc b/base/metrics/statistics_recorder.cc |
| index 7efe16b10c15596f968a4fcced8ad4ae4d7d9ee4..a2296da109da9bcf46495bb97980783863f0eeaa 100644 |
| --- a/base/metrics/statistics_recorder.cc |
| +++ b/base/metrics/statistics_recorder.cc |
| @@ -393,24 +393,24 @@ StatisticsRecorder::StatisticsRecorder() { |
| // static |
| void StatisticsRecorder::ResetForTesting() { |
| - if (histograms_) { |
| - STLDeleteValues(histograms_); |
| - delete histograms_; |
| - histograms_= nullptr; |
| - } |
| - if (ranges_) { |
| - for (auto& iter : *ranges_) { |
| - STLDeleteElements(iter.second); |
| - delete iter.second; |
| - } |
| - delete ranges_; |
| - ranges_ = nullptr; |
| - } |
| + // This leaks a lot of objects but they've allready been annotated for such. |
|
grt (UTC plus 2)
2016/02/15 15:42:39
"already"
bcwhite
2016/02/15 19:22:10
Done.
|
| + // Deleting them isn't possible because there could be other pointers to |
| + // them somewhere. |
| + delete histograms_; |
| + histograms_= nullptr; |
| + delete ranges_; |
| + ranges_ = nullptr; |
| delete callbacks_; |
| callbacks_ = nullptr; |
| } |
| // static |
| +void StatisticsRecorder::ForgetHistogramForTesting(const std::string& name) { |
| + if (histograms_) |
| + histograms_->erase(HashMetricName(name)); |
| +} |
| + |
| +// static |
| void StatisticsRecorder::DumpHistogramsToVlog(void* instance) { |
| std::string output; |
| StatisticsRecorder::WriteGraph(std::string(), &output); |