Avoid to use the method pointer to Callback<>::Run on gmock tests

This CL replaces a problematic method pointers to Callback::Run with
testing::CreateFunctor.

The method pointer to Callback::Run prevents to make it a template
method or to overload it for cleaner implementation.

Review-Url: https://codereview.chromium.org/2758713002
Cr-Commit-Position: refs/heads/master@{#458018}


CrOS-Libchrome-Original-Commit: 2e53fef9596667824f9f0467fb6b2eabf1eb121e
diff --git a/testing/gmock_mutant.h b/testing/gmock_mutant.h
index 961673f..2a41cf5 100644
--- a/testing/gmock_mutant.h
+++ b/testing/gmock_mutant.h
@@ -113,6 +113,12 @@
   return CallbackToFunctorHelper<Signature>(cb);
 }
 
+template <typename Functor>
+CallbackToFunctorHelper<typename Functor::RunType> CreateFunctor(
+    Functor functor) {
+  return CallbackToFunctor(functor);
+}
+
 template <typename Functor, typename... BoundArgs>
 CallbackToFunctorHelper<base::MakeUnboundRunType<Functor, BoundArgs...>>
 CreateFunctor(Functor functor, const BoundArgs&... args) {