summaryrefslogtreecommitdiffstats
path: root/base/memory
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-25 00:42:51 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-25 00:42:51 +0000
commita9aaa9d16ba4bfc0a1e765d349cae8470301749e (patch)
tree4226196cc74eb37c1c408ca6b28bed5d1fab34e7 /base/memory
parent8c81e9eccca97e2de13c8a5fe3059f238492a066 (diff)
downloadchromium_src-a9aaa9d16ba4bfc0a1e765d349cae8470301749e.zip
chromium_src-a9aaa9d16ba4bfc0a1e765d349cae8470301749e.tar.gz
chromium_src-a9aaa9d16ba4bfc0a1e765d349cae8470301749e.tar.bz2
RefCounted types should not have public destructors, base/ edition
BUG=123295 TEST=none Review URL: http://codereview.chromium.org/10065037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/memory')
-rw-r--r--base/memory/ref_counted_memory.cc14
-rw-r--r--base/memory/ref_counted_memory.h4
-rw-r--r--base/memory/ref_counted_unittest.cc2
3 files changed, 9 insertions, 11 deletions
diff --git a/base/memory/ref_counted_memory.cc b/base/memory/ref_counted_memory.cc
index f8e6c66..59d141d 100644
--- a/base/memory/ref_counted_memory.cc
+++ b/base/memory/ref_counted_memory.cc
@@ -6,11 +6,9 @@
#include "base/logging.h"
-RefCountedMemory::RefCountedMemory() {
-}
+RefCountedMemory::RefCountedMemory() {}
-RefCountedMemory::~RefCountedMemory() {
-}
+RefCountedMemory::~RefCountedMemory() {}
namespace base {
@@ -22,8 +20,9 @@ size_t RefCountedStaticMemory::size() const {
return length_;
}
-RefCountedBytes::RefCountedBytes() {
-}
+RefCountedStaticMemory::~RefCountedStaticMemory() {}
+
+RefCountedBytes::RefCountedBytes() {}
RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer)
: data_(initializer) {
@@ -46,8 +45,7 @@ size_t RefCountedBytes::size() const {
return data_.size();
}
-RefCountedBytes::~RefCountedBytes() {
-}
+RefCountedBytes::~RefCountedBytes() {}
RefCountedString::RefCountedString() {}
diff --git a/base/memory/ref_counted_memory.h b/base/memory/ref_counted_memory.h
index 1434a90..c9170f5 100644
--- a/base/memory/ref_counted_memory.h
+++ b/base/memory/ref_counted_memory.h
@@ -51,6 +51,8 @@ class BASE_EXPORT RefCountedStaticMemory : public RefCountedMemory {
virtual size_t size() const OVERRIDE;
private:
+ virtual ~RefCountedStaticMemory();
+
const unsigned char* data_;
size_t length_;
@@ -79,7 +81,6 @@ class BASE_EXPORT RefCountedBytes : public RefCountedMemory {
std::vector<unsigned char>& data() { return data_; }
private:
- friend class base::RefCountedThreadSafe<RefCountedBytes>;
virtual ~RefCountedBytes();
std::vector<unsigned char> data_;
@@ -106,7 +107,6 @@ class BASE_EXPORT RefCountedString : public RefCountedMemory {
std::string& data() { return data_; }
private:
- friend class base::RefCountedThreadSafe<RefCountedString>;
virtual ~RefCountedString();
std::string data_;
diff --git a/base/memory/ref_counted_unittest.cc b/base/memory/ref_counted_unittest.cc
index 93b93c4..8ddd5be 100644
--- a/base/memory/ref_counted_unittest.cc
+++ b/base/memory/ref_counted_unittest.cc
@@ -27,7 +27,6 @@ class ScopedRefPtrToSelf : public base::RefCounted<ScopedRefPtrToSelf> {
ScopedRefPtrToSelf()
: ALLOW_THIS_IN_INITIALIZER_LIST(self_ptr_(this)) {
}
- ~ScopedRefPtrToSelf() { was_destroyed_ = true; }
static bool was_destroyed() { return was_destroyed_; }
@@ -35,6 +34,7 @@ class ScopedRefPtrToSelf : public base::RefCounted<ScopedRefPtrToSelf> {
private:
friend class base::RefCounted<ScopedRefPtrToSelf>;
+ ~ScopedRefPtrToSelf() { was_destroyed_ = true; }
static bool was_destroyed_;