diff options
author | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-19 10:31:00 +0000 |
---|---|---|
committer | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-19 10:31:00 +0000 |
commit | a5b7b7d090670613f099b13f2edd341ed0ae0267 (patch) | |
tree | d5fc321019ad2246419edf9700e3a9abdafb2940 /net/disk_cache | |
parent | fd1cc5a88f528d58d311b24bf2b1b9b437369b30 (diff) | |
download | chromium_src-a5b7b7d090670613f099b13f2edd341ed0ae0267.zip chromium_src-a5b7b7d090670613f099b13f2edd341ed0ae0267.tar.gz chromium_src-a5b7b7d090670613f099b13f2edd341ed0ae0267.tar.bz2 |
Re-land http://codereview.chromium.org/6869009 (except for the suppressions)
Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark
heap allocated objects as intentionally leaked ones.
Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked.
Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky.
The previous commit broke the build on Linux Heapcheck, but looks like the problem has gone now.
TBR=jar,willchan
BUG=79322
Review URL: http://codereview.chromium.org/7048005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85898 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache')
-rw-r--r-- | net/disk_cache/stats.cc | 2 | ||||
-rw-r--r-- | net/disk_cache/stats_histogram.cc | 5 | ||||
-rw-r--r-- | net/disk_cache/stats_histogram.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/net/disk_cache/stats.cc b/net/disk_cache/stats.cc index 6fdd31c..af3b941 100644 --- a/net/disk_cache/stats.cc +++ b/net/disk_cache/stats.cc @@ -151,7 +151,7 @@ bool Stats::Init(BackendImpl* backend, uint32* storage_addr) { // Stats may be reused when the cache is re-created, but we want only one // histogram at any given time. size_histogram_ = - StatsHistogram::StatsHistogramFactoryGet("DiskCache.SizeStats"); + StatsHistogram::FactoryGet("DiskCache.SizeStats"); size_histogram_->Init(this); } } diff --git a/net/disk_cache/stats_histogram.cc b/net/disk_cache/stats_histogram.cc index 6d3097a..14d2d70 100644 --- a/net/disk_cache/stats_histogram.cc +++ b/net/disk_cache/stats_histogram.cc @@ -4,6 +4,7 @@ #include "net/disk_cache/stats_histogram.h" +#include "base/debug/leak_annotations.h" #include "base/logging.h" #include "net/disk_cache/stats.h" @@ -21,8 +22,7 @@ StatsHistogram::~StatsHistogram() { stats_ = NULL; } -StatsHistogram* StatsHistogram::StatsHistogramFactoryGet( - const std::string& name) { +StatsHistogram* StatsHistogram::FactoryGet(const std::string& name) { Histogram* histogram(NULL); Sample minimum = 1; @@ -49,6 +49,7 @@ StatsHistogram* StatsHistogram::StatsHistogramFactoryGet( // Validate upcast by seeing that we're probably providing the checksum. CHECK_EQ(return_histogram->StatsHistogram::CalculateRangeChecksum(), return_histogram->CalculateRangeChecksum()); + ANNOTATE_LEAKING_OBJECT_PTR(return_histogram); // see crbug.com/79322 return return_histogram; } diff --git a/net/disk_cache/stats_histogram.h b/net/disk_cache/stats_histogram.h index 83d359c..627286bf 100644 --- a/net/disk_cache/stats_histogram.h +++ b/net/disk_cache/stats_histogram.h @@ -35,7 +35,7 @@ class StatsHistogram : public base::Histogram { : Histogram(name, minimum, maximum, bucket_count), init_(false) {} ~StatsHistogram(); - static StatsHistogram* StatsHistogramFactoryGet(const std::string& name); + static StatsHistogram* FactoryGet(const std::string& name); // We'll be reporting data from the given set of cache stats. bool Init(const Stats* stats); |