Index: third_party/WebKit/Source/platform/mojo/MojoHelper.h |
diff --git a/third_party/WebKit/Source/platform/mojo/MojoHelper.h b/third_party/WebKit/Source/platform/mojo/MojoHelper.h |
index cb3787823cf898aaef902d1ba64e2df021bdd0dc..07bd04deb32d77a406e80b9939d2afc22d962eb2 100644 |
--- a/third_party/WebKit/Source/platform/mojo/MojoHelper.h |
+++ b/third_party/WebKit/Source/platform/mojo/MojoHelper.h |
@@ -6,7 +6,9 @@ |
#define MojoHelper_h |
#include "base/bind.h" |
+#include "mojo/public/cpp/bindings/interface_request.h" |
#include "mojo/public/cpp/bindings/wtf_array.h" |
+#include "platform/CrossThreadCopier.h" |
#include "platform/heap/HeapAllocator.h" |
#include <utility> |
@@ -28,6 +30,13 @@ base::Callback<R(Args...)> createBaseCallback(std::unique_ptr<Function<R(Args... |
return base::Bind(&internal::CallWTFFunction<R, Args...>, base::Owned(functor.release())); |
} |
+template <typename T> |
+struct CrossThreadCopier<mojo::InterfaceRequest<T>> { |
+ STATIC_ONLY(CrossThreadCopier); |
+ using Type = mojo::InterfaceRequest<T>; |
+ static Type copy(Type value) { return value; /* This is in fact a move. */ } |
+}; |
+ |
} // namespace blink |
namespace mojo { |