summaryrefslogtreecommitdiff
path: root/chromium/base/callback_helpers.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/callback_helpers.h')
-rw-r--r--chromium/base/callback_helpers.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/chromium/base/callback_helpers.h b/chromium/base/callback_helpers.h
index 782371f6e71..ec3d6cbf168 100644
--- a/chromium/base/callback_helpers.h
+++ b/chromium/base/callback_helpers.h
@@ -20,10 +20,13 @@
namespace base {
-template <typename Sig>
-base::Callback<Sig> ResetAndReturn(base::Callback<Sig>* cb) {
- base::Callback<Sig> ret(*cb);
- cb->Reset();
+template <typename Signature,
+ internal::CopyMode copy_mode,
+ internal::RepeatMode repeat_mode>
+base::Callback<Signature, copy_mode, repeat_mode> ResetAndReturn(
+ base::Callback<Signature, copy_mode, repeat_mode>* cb) {
+ base::Callback<Signature, copy_mode, repeat_mode> ret(std::move(*cb));
+ DCHECK(!*cb);
return ret;
}