Remove deprecated base::Bind APIs (see issue #3140)
This CL removes the following deprecated APIs: - base::Bind() - base::Callback - base::Closure - base::CancelableCallback - base::CancelableClosure The behavior that these APIs provided is still available using the *Repeating* variants. However, consider strongly whether using these variants is actually necessary in your case or whether the *Once* variants will suffice: unless your callback *objects* (note: not variables!) need to be called multiple times, they most likely can and should be the Once variants. This applies the same changes as https://crrev.com/6cc94b5339.
This commit is contained in:
parent
f3ed6619da
commit
07bc800f00
|
@ -54,9 +54,6 @@
|
|||
// auto cb = base::BindOnce(&C::F, instance);
|
||||
// std::move(cb).Run(); // Identical to instance->F()
|
||||
//
|
||||
// base::Bind is currently a type alias for base::BindRepeating(). In the
|
||||
// future, we expect to flip this to default to base::BindOnce().
|
||||
//
|
||||
// See //docs/callback.md for the full documentation.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
|
@ -126,17 +123,6 @@ BindRepeating(Functor&& functor, Args&&... args) {
|
|||
std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
// Unannotated Bind.
|
||||
// TODO(tzik): Deprecate this and migrate to OnceCallback and
|
||||
// RepeatingCallback, once they get ready.
|
||||
template <typename Functor, typename... Args>
|
||||
inline Callback<internal::MakeUnboundRunType<Functor, Args...>> Bind(
|
||||
Functor&& functor,
|
||||
Args&&... args) {
|
||||
return base::BindRepeating(std::forward<Functor>(functor),
|
||||
std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
// Special cases for binding to a base::Callback without extra bound arguments.
|
||||
// We CHECK() the validity of callback to guard against null pointers
|
||||
// accidentally ending up in posted tasks, causing hard-to-debug crashes.
|
||||
|
@ -159,12 +145,6 @@ RepeatingCallback<Signature> BindRepeating(
|
|||
return callback;
|
||||
}
|
||||
|
||||
template <typename Signature>
|
||||
Callback<Signature> Bind(Callback<Signature> callback) {
|
||||
CHECK(callback);
|
||||
return callback;
|
||||
}
|
||||
|
||||
// Unretained() allows binding a non-refcounted class, and to disable
|
||||
// refcounting on arguments that are refcounted objects.
|
||||
//
|
||||
|
|
|
@ -60,9 +60,6 @@
|
|||
// will be a no-op. Note that |IsCancelled()| and |is_null()| are distinct:
|
||||
// simply cancelling a callback will not also make it null.
|
||||
//
|
||||
// base::Callback is currently a type alias for base::RepeatingCallback. In the
|
||||
// future, we expect to flip this to default to base::OnceCallback.
|
||||
//
|
||||
// See https://chromium.googlesource.com/chromium/src/+/HEAD/docs/callback.md
|
||||
// for the full documentation.
|
||||
|
||||
|
@ -115,7 +112,7 @@ class OnceCallback<R(Args...)> : public internal::CallbackBase {
|
|||
return *this;
|
||||
}
|
||||
|
||||
R Run(Args... args) const & {
|
||||
R Run(Args... args) const& {
|
||||
static_assert(!sizeof(*this),
|
||||
"OnceCallback::Run() may only be invoked on a non-const "
|
||||
"rvalue, i.e. std::move(callback).Run().");
|
||||
|
@ -195,7 +192,7 @@ class RepeatingCallback<R(Args...)> : public internal::CallbackBaseCopyable {
|
|||
return !operator==(other);
|
||||
}
|
||||
|
||||
R Run(Args... args) const & {
|
||||
R Run(Args... args) const& {
|
||||
PolymorphicInvoke f =
|
||||
reinterpret_cast<PolymorphicInvoke>(this->polymorphic_invoke());
|
||||
return f(this->bind_state_.get(), std::forward<Args>(args)...);
|
||||
|
|
|
@ -48,15 +48,11 @@ class OnceCallback;
|
|||
template <typename Signature>
|
||||
class RepeatingCallback;
|
||||
|
||||
template <typename Signature>
|
||||
using Callback = RepeatingCallback<Signature>;
|
||||
|
||||
// Syntactic sugar to make OnceClosure<void()> and RepeatingClosure<void()>
|
||||
// easier to declare since they will be used in a lot of APIs with delayed
|
||||
// execution.
|
||||
using OnceClosure = OnceCallback<void()>;
|
||||
using RepeatingClosure = RepeatingCallback<void()>;
|
||||
using Closure = Callback<void()>;
|
||||
|
||||
} // namespace base
|
||||
|
||||
|
|
|
@ -83,10 +83,10 @@
|
|||
|
||||
#include "include/base/cef_bind.h"
|
||||
#include "include/base/cef_callback.h"
|
||||
#include "include/base/internal/cef_callback_internal.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_compiler_specific.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_weak_ptr.h"
|
||||
#include "include/base/internal/cef_callback_internal.h"
|
||||
|
||||
namespace base {
|
||||
namespace internal {
|
||||
|
@ -113,9 +113,7 @@ class CancelableCallbackImpl {
|
|||
}
|
||||
|
||||
// Returns true if the wrapped callback has been cancelled.
|
||||
bool IsCancelled() const {
|
||||
return callback_.is_null();
|
||||
}
|
||||
bool IsCancelled() const { return callback_.is_null(); }
|
||||
|
||||
// Sets |callback| as the closure that may be cancelled. |callback| may not
|
||||
// be null. Outstanding and any previously wrapped callbacks are cancelled.
|
||||
|
@ -180,10 +178,6 @@ using CancelableRepeatingCallback =
|
|||
internal::CancelableCallbackImpl<RepeatingCallback<Signature>>;
|
||||
using CancelableRepeatingClosure = CancelableRepeatingCallback<void()>;
|
||||
|
||||
template <typename Signature>
|
||||
using CancelableCallback = CancelableRepeatingCallback<Signature>;
|
||||
using CancelableClosure = CancelableCallback<void()>;
|
||||
|
||||
} // namespace base
|
||||
|
||||
#endif // !USING_CHROMIUM_INCLUDES
|
||||
|
|
Loading…
Reference in New Issue