Index: base/test/opaque_ref_counted.cc |
diff --git a/base/test/opaque_ref_counted.cc b/base/test/opaque_ref_counted.cc |
index ed6c36f1a2decdde05a03b1bf705ea6349dc28b5..36253e5ef962f6abfa00669e8f2b5b6737565bad 100644 |
--- a/base/test/opaque_ref_counted.cc |
+++ b/base/test/opaque_ref_counted.cc |
@@ -11,17 +11,31 @@ namespace base { |
class OpaqueRefCounted : public RefCounted<OpaqueRefCounted> { |
public: |
- OpaqueRefCounted() {} |
+ OpaqueRefCounted() = default; |
int Return42() { return 42; } |
private: |
- virtual ~OpaqueRefCounted() {} |
+ friend class RefCounted<OpaqueRefCounted>; |
+ ~OpaqueRefCounted() = default; |
- friend RefCounted<OpaqueRefCounted>; |
DISALLOW_COPY_AND_ASSIGN(OpaqueRefCounted); |
}; |
+class OpaqueRefCountedThreadSafe |
+ : public RefCounted<OpaqueRefCountedThreadSafe> { |
+ public: |
+ OpaqueRefCountedThreadSafe() = default; |
+ |
+ int Return42() { return 42; } |
+ |
+ private: |
+ friend class RefCounted<OpaqueRefCountedThreadSafe>; |
+ ~OpaqueRefCountedThreadSafe() = default; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(OpaqueRefCountedThreadSafe); |
+}; |
+ |
scoped_refptr<OpaqueRefCounted> MakeOpaqueRefCounted() { |
return new OpaqueRefCounted(); |
} |
@@ -30,6 +44,16 @@ void TestOpaqueRefCounted(scoped_refptr<OpaqueRefCounted> p) { |
EXPECT_EQ(42, p->Return42()); |
} |
+scoped_refptr<OpaqueRefCountedThreadSafe> MakeOpaqueRefCountedThreadSafe() { |
+ return new OpaqueRefCountedThreadSafe(); |
+} |
+ |
+void TestOpaqueRefCountedThreadSafe( |
+ scoped_refptr<OpaqueRefCountedThreadSafe> p) { |
+ EXPECT_EQ(42, p->Return42()); |
+} |
+ |
} // namespace base |
template class scoped_refptr<base::OpaqueRefCounted>; |
+template class scoped_refptr<base::OpaqueRefCountedThreadSafe>; |