Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1545)

Unified Diff: base/memory/weak_ptr_unittest.cc

Issue 10553029: Handle interface to prerenders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/memory/weak_ptr_unittest.cc
diff --git a/base/memory/weak_ptr_unittest.cc b/base/memory/weak_ptr_unittest.cc
index e18a2079821a1306ad18aa669d7477743cec851c..405f38f4fdce9c517d921540fc3c47c0c6bc6efb 100644
--- a/base/memory/weak_ptr_unittest.cc
+++ b/base/memory/weak_ptr_unittest.cc
@@ -353,4 +353,33 @@ TEST(WeakPtrTest, Dereference) {
EXPECT_EQ(data.member, ptr->member);
}
+struct WithRefCounting : RefCounted<WithRefCounting>,
dominich 2012/06/18 15:32:44 I don't understand this. The WeakPtr is already re
+ SupportsWeakPtr<WithRefCounting> {
+ protected:
+ friend class base::RefCounted<WithRefCounting>;
+ ~WithRefCounting() {}
+};
+
+TEST(WeakPtrTest, WithRefCounting) {
+ scoped_refptr<WithRefCounting> ref_ptr(new WithRefCounting);
+ WeakPtr<WithRefCounting> weak_ptr = ref_ptr->AsWeakPtr();
+ EXPECT_EQ(ref_ptr.get(), weak_ptr.get());
+ ref_ptr = NULL;
+ EXPECT_FALSE(weak_ptr);
+}
+
+struct SubtleWithRefCounting : WithRefCounting {
+ SubtleWithRefCounting() : self(base::AsWeakPtr(this)) {}
+ private:
+ ~SubtleWithRefCounting() {
+ EXPECT_EQ(this, self);
+ }
+
+ WeakPtr<SubtleWithRefCounting> self;
+};
+
+TEST(WeakPtrTest, SubtleWithRefCounting) {
+ scoped_refptr<SubtleWithRefCounting> ref_ptr(new SubtleWithRefCounting);
+}
+
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698