| Index: base/bind_unittest.cc
|
| diff --git a/base/bind_unittest.cc b/base/bind_unittest.cc
|
| index a30b7756704658a599a84e3df88e80166e731ce7..669e7546bcf775f76dc68238ee479782f8236b4f 100644
|
| --- a/base/bind_unittest.cc
|
| +++ b/base/bind_unittest.cc
|
| @@ -786,6 +786,28 @@ TEST_F(BindTest, ArgumentCopies) {
|
| EXPECT_EQ(0, assigns);
|
| }
|
|
|
| +// Test using lambdas with Bind
|
| +struct Dummy {};
|
| +struct RefcountedClass;
|
| +void Func1(RefcountedClass*, Dummy*) {}
|
| +void Func2(Dummy*, RefcountedClass*) {}
|
| +struct RefcountedClass : public base::RefCounted<RefcountedClass> {
|
| + void TryStuffWithThis() {
|
| + scoped_refptr<RefcountedClass> refcounted_object;
|
| + Dummy d;
|
| + base::Closure c;
|
| + c = base::Bind(&Func1,
|
| + this,
|
| + base::Unretained(&d));
|
| + c = base::Bind(&Func2,
|
| + base::Unretained(&d),
|
| + this);
|
| + }
|
| + private:
|
| + friend class base::RefCounted<RefcountedClass>;
|
| + ~RefcountedClass() {}
|
| +};
|
| +
|
| // Callback construction and assignment tests.
|
| // - Construction from an InvokerStorageHolder should not cause ref/deref.
|
| // - Assignment from other callback should only cause one ref
|
|
|