summaryrefslogtreecommitdiffstats
path: root/base/message_loop_unittest.cc
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/message_loop_unittest.cc
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/message_loop_unittest.cc')
-rw-r--r--base/message_loop_unittest.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/base/message_loop_unittest.cc b/base/message_loop_unittest.cc
index d1e921c..15f825b 100644
--- a/base/message_loop_unittest.cc
+++ b/base/message_loop_unittest.cc
@@ -397,6 +397,11 @@ class RecordDeletionProbe : public base::RefCounted<RecordDeletionProbe> {
RecordDeletionProbe(RecordDeletionProbe* post_on_delete, bool* was_deleted)
: post_on_delete_(post_on_delete), was_deleted_(was_deleted) {
}
+ void Run() {}
+
+ private:
+ friend class base::RefCounted<RecordDeletionProbe>;
+
~RecordDeletionProbe() {
*was_deleted_ = true;
if (post_on_delete_)
@@ -404,8 +409,7 @@ class RecordDeletionProbe : public base::RefCounted<RecordDeletionProbe> {
FROM_HERE,
base::Bind(&RecordDeletionProbe::Run, post_on_delete_.get()));
}
- void Run() {}
- private:
+
scoped_refptr<RecordDeletionProbe> post_on_delete_;
bool* was_deleted_;
};
@@ -1624,15 +1628,18 @@ class DestructionObserverProbe :
: task_destroyed_(task_destroyed),
destruction_observer_called_(destruction_observer_called) {
}
- virtual ~DestructionObserverProbe() {
- EXPECT_FALSE(*destruction_observer_called_);
- *task_destroyed_ = true;
- }
virtual void Run() {
// This task should never run.
ADD_FAILURE();
}
private:
+ friend class base::RefCounted<DestructionObserverProbe>;
+
+ virtual ~DestructionObserverProbe() {
+ EXPECT_FALSE(*destruction_observer_called_);
+ *task_destroyed_ = true;
+ }
+
bool* task_destroyed_;
bool* destruction_observer_called_;
};