Index: base/callback_internal.cc |
=================================================================== |
--- base/callback_internal.cc (revision 114494) |
+++ base/callback_internal.cc (working copy) |
@@ -4,8 +4,6 @@ |
#include "base/callback_internal.h" |
-#include "base/logging.h" |
- |
namespace base { |
namespace internal { |
@@ -23,10 +21,12 @@ |
polymorphic_invoke_ == other.polymorphic_invoke_; |
} |
-CallbackBase::CallbackBase(BindStateBase* bind_state) |
- : bind_state_(bind_state), |
- polymorphic_invoke_(NULL) { |
- DCHECK(!bind_state_ || bind_state_->HasOneRef()); |
+CallbackBase::CallbackBase(InvokeFuncStorage polymorphic_invoke, |
+ scoped_refptr<BindStateBase>* bind_state) |
+ : polymorphic_invoke_(polymorphic_invoke) { |
+ if (bind_state) { |
+ bind_state_.swap(*bind_state); |
+ } |
} |
CallbackBase::~CallbackBase() { |