| Index: base/bind_internal.h
|
| diff --git a/base/bind_internal.h b/base/bind_internal.h
|
| index 301b681437847fe55dfdac4a104e0a8f294ede82..ae17ebf86c1a6c17f3a6cb5108a10d690ad4be61 100644
|
| --- a/base/bind_internal.h
|
| +++ b/base/bind_internal.h
|
| @@ -872,15 +872,14 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1>
|
| +template <typename Runnable, typename BoundWeakPtr>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1));
|
| + runnable.Run(weak_ptr.get());
|
| }
|
| };
|
|
|
| @@ -900,15 +899,14 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2>
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2));
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2));
|
| }
|
| };
|
|
|
| @@ -930,15 +928,14 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2, typename A3>
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2, typename A3>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2, A3)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2, A3)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2, A3 a3) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3));
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2), CallbackForward(a3));
|
| }
|
| };
|
|
|
| @@ -961,15 +958,16 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2, typename A3, typename A4>
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2, typename A3,
|
| + typename A4>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2, A3, A4)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2, A3, A4)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2, A3 a3,
|
| + A4 a4) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2), CallbackForward(a3),
|
| CallbackForward(a4));
|
| }
|
| };
|
| @@ -995,16 +993,16 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2, typename A3,
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2, typename A3,
|
| typename A4, typename A5>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2, A3, A4, A5)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2, A3, A4, A5)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2, A3 a3,
|
| + A4 a4, A5 a5) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2), CallbackForward(a3),
|
| CallbackForward(a4), CallbackForward(a5));
|
| }
|
| };
|
| @@ -1032,17 +1030,16 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2, typename A3,
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2, typename A3,
|
| typename A4, typename A5, typename A6>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2, A3, A4, A5, A6)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
|
| - A6 a6) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2, A3, A4, A5, A6)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2, A3 a3,
|
| + A4 a4, A5 a5, A6 a6) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2), CallbackForward(a3),
|
| CallbackForward(a4), CallbackForward(a5), CallbackForward(a6));
|
| }
|
| };
|
| @@ -1071,17 +1068,16 @@ struct InvokeHelper<false, void, Runnable,
|
| }
|
| };
|
|
|
| -template <typename Runnable, typename A1, typename A2, typename A3,
|
| +template <typename Runnable, typename BoundWeakPtr, typename A2, typename A3,
|
| typename A4, typename A5, typename A6, typename A7>
|
| struct InvokeHelper<true, void, Runnable,
|
| - void(A1, A2, A3, A4, A5, A6, A7)> {
|
| - static void MakeItSo(Runnable runnable, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
|
| - A6 a6, A7 a7) {
|
| - if (!a1.get()) {
|
| + void(BoundWeakPtr, A2, A3, A4, A5, A6, A7)> {
|
| + static void MakeItSo(Runnable runnable, BoundWeakPtr weak_ptr, A2 a2, A3 a3,
|
| + A4 a4, A5 a5, A6 a6, A7 a7) {
|
| + if (!weak_ptr.get()) {
|
| return;
|
| }
|
| -
|
| - runnable.Run(CallbackForward(a1), CallbackForward(a2), CallbackForward(a3),
|
| + runnable.Run(weak_ptr.get(), CallbackForward(a2), CallbackForward(a3),
|
| CallbackForward(a4), CallbackForward(a5), CallbackForward(a6),
|
| CallbackForward(a7));
|
| }
|
|
|