| Index: components/metrics/file_metrics_provider.cc
|
| diff --git a/components/metrics/file_metrics_provider.cc b/components/metrics/file_metrics_provider.cc
|
| index 36a60df799006f9684477f5f63ce7be256ed5948..65284556c7dbbdb3147823e83134d238179209b3 100644
|
| --- a/components/metrics/file_metrics_provider.cc
|
| +++ b/components/metrics/file_metrics_provider.cc
|
| @@ -185,10 +185,11 @@ void FileMetricsProvider::RecordHistogramSnapshotsFromFile(
|
| scoped_ptr<base::HistogramBase> histogram = histogram_iter.GetNext();
|
| if (!histogram)
|
| break;
|
| - if (file->type == FILE_HISTOGRAMS_ATOMIC)
|
| - snapshot_manager->PrepareAbsoluteTakingOwnership(std::move(histogram));
|
| - else
|
| - snapshot_manager->PrepareDeltaTakingOwnership(std::move(histogram));
|
| + // The "delta" is calculated, which updates the "logged" counts, even
|
| + // for "atomic" files that may be read-only. This is possible because
|
| + // the file contents are copied into read/write memory which is then
|
| + // discarded after the reporting is complete.
|
| + snapshot_manager->PrepareDeltaTakingOwnership(std::move(histogram));
|
| ++histogram_count;
|
| }
|
|
|
|
|