Index: base/callback_helpers.cc |
diff --git a/base/bind_helpers.cc b/base/callback_helpers.cc |
similarity index 52% |
copy from base/bind_helpers.cc |
copy to base/callback_helpers.cc |
index f2fc3bb0daaed9697a899b2e80f5322e1a074fe9..ef02b2bde0cdfed5dbd02cb97cabd246ea18d611 100644 |
--- a/base/bind_helpers.cc |
+++ b/base/callback_helpers.cc |
@@ -1,14 +1,14 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "base/bind_helpers.h" |
+#include "base/callback_helpers.h" |
#include "base/callback.h" |
namespace base { |
-void DoNothing() { |
+ScopedClosureRunner::ScopedClosureRunner() { |
} |
ScopedClosureRunner::ScopedClosureRunner(const Closure& closure) |
@@ -20,6 +20,19 @@ ScopedClosureRunner::~ScopedClosureRunner() { |
closure_.Run(); |
} |
+void ScopedClosureRunner::Reset() { |
+ Closure old_closure = Release(); |
+ if (!old_closure.is_null()) |
+ old_closure.Run(); |
+} |
+ |
+void ScopedClosureRunner::Reset(const Closure& closure) { |
+ Closure old_closure = Release(); |
+ closure_ = closure; |
+ if (!old_closure.is_null()) |
+ old_closure.Run(); |
+} |
+ |
Closure ScopedClosureRunner::Release() { |
Closure result = closure_; |
closure_.Reset(); |